跳至内容

构建、运行或部署函数

创建函数项目后,您可以根据您的用例构建、运行或部署函数。

运行函数

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

我们使用分析和 cookie 来了解网站流量。关于您使用我们网站的信息将与 Google 共享,用于该目的。 了解更多.