构建、运行或部署函数¶
创建函数项目后,您可以根据您的用例构建、运行或部署函数。
运行函数¶
运行函数会在您本地环境中运行函数之前为您的函数创建一个 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
) 来配置。