运行函数¶
运行函数会在您的本地环境中运行函数之前为您的函数创建一个 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: