執行函式¶
執行函式會在您的本機環境中執行函式之前,為您的函式建立一個 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: