建立、執行或部署函式¶
在您建立函式專案後,您可以根據您的使用案例來建置、執行或部署您的函式。
執行函式¶
執行函式會在您的本機環境中執行函式之前,為您的函式建立 OCI 容器映像,但不會將函式部署到叢集。如果您想要在本機執行函式以進行測試情境,這會很有用。
先決條件¶
- 您的本機電腦上已安裝 Docker 精靈。如果您已使用快速入門安裝,則已提供此項。
程序¶
run
命令會在需要時為您的函式建置映像,並在本機執行此映像,而不是將其部署在叢集上。
在專案目錄內執行命令,以在本機執行函式。如果您尚未建置函式,您將需要提供 --registry
旗標
cd hello
func run [--registry <registry>]
注意
映像登錄的座標也可以透過環境變數 (FUNC_REGISTRY
) 來設定。
如有必要,使用此命令也會建置函式。
您可以透過執行以下命令來強制重建映像
func run --build
也可以透過執行以下命令來停用建置
func run --build=false
在專案目錄內執行命令,以在本機執行函式
cd hello
kn func run
如有必要,使用此命令也會建置函式。
您可以透過執行以下命令來強制重建映像
kn func run --build
也可以透過執行以下命令來停用建置
kn func run --build=false
您可以使用 invoke
命令並觀察輸出來驗證您的函式是否已成功執行
func invoke
kn func invoke
預期輸出
Received response
POST / HTTP/1.1 hello.default.127.0.0.1.sslip.io
User-Agent: Go-http-client/1.1
Content-Length: 25
Accept-Encoding: gzip
Content-Type: application/json
K-Proxy-Request: activator
X-Request-Id: 9e351834-0542-4f32-9928-3a5d6aece30c
Forwarded: for=10.244.0.15;proto=http
X-Forwarded-For: 10.244.0.15, 10.244.0.9
X-Forwarded-Proto: http
Body:
部署函式¶
部署函式會為您的函式建立 OCI 容器映像,並將此容器映像推送至您的映像登錄。該函式會以 Knative 服務的形式部署到叢集。重新部署函式會更新容器映像以及叢集上執行的結果服務。已部署到叢集的函式可以像任何其他 Knative 服務一樣在叢集上存取。
先決條件¶
-
您的本機電腦上已安裝 Docker 精靈。如果您已使用快速入門安裝,則已提供此項。
-
您有權存取容器登錄,並且可以將映像推送至此登錄。請注意,某些映像登錄預設會將新推送的映像設為私有。如果您是第一次部署函式,則可能需要確保您的映像設定為公開。
程序¶
deploy
命令會使用函式專案名稱作為 Knative 服務名稱。當建置函式時,會使用專案名稱和映像登錄名稱來建構函式的完整映像名稱。
在專案目錄內執行命令,以部署函式
func deploy --registry <registry>
在專案目錄內執行命令,以部署函式
kn func deploy --registry <registry>
預期輸出
🙌 Function image built: <registry>/hello:latest
✅ Function deployed in namespace "default" and exposed at URL:
http://hello.default.127.0.0.1.sslip.io
您可以使用 invoke
命令並觀察輸出來驗證您的函式是否已成功部署
func invoke
kn func invoke
預期輸出
Received response
POST / HTTP/1.1 hello.default.127.0.0.1.sslip.io
User-Agent: Go-http-client/1.1
Content-Length: 25
Accept-Encoding: gzip
Content-Type: application/json
K-Proxy-Request: activator
X-Request-Id: 9e351834-0542-4f32-9928-3a5d6aece30c
Forwarded: for=10.244.0.15;proto=http
X-Forwarded-For: 10.244.0.15, 10.244.0.9
X-Forwarded-Proto: http
Body:
建置函式¶
建置函式會為您的函式建立 OCI 容器映像,該映像可以推送至容器登錄。它不會執行或部署函式,如果您想要在本機為函式建立容器映像,但不想自動執行函式或將其部署到叢集 (例如在測試情境中),這會很有用。
先決條件¶
- 您的本機電腦上已安裝 Docker 精靈。如果您已使用快速入門安裝,則已提供此項。
程序¶
build
命令會使用專案名稱和映像登錄名稱來建構函式的完整容器映像名稱。如果函式專案先前尚未建置,系統會提示您提供映像登錄。
若要建置函式,請執行下列命令
func build
若要建置函式,請執行下列命令
kn func build
注意
映像登錄的座標也可以透過環境變數 (FUNC_REGISTRY
) 來設定。