第 5 章 构建函数

要运行功能,您必须首先构建 function 项目。这在使用 kn func run 命令时自动发生,但您也可以在不运行的情况下构建功能。

5.1. 构建函数

在运行功能前,您必须构建 function 项目。如果使用 kn func run 命令,则该函数会自动构建。但是,您可以使用 kn func build 命令在不运行的情况下构建函数,这对于高级用户或调试场景非常有用。

kn func build 命令创建可在您的计算机或 OpenShift Container Platform 集群中运行的 OCI 容器镜像。此命令使用功能项目名称和镜像 registry 名称为您的功能构建完全限定镜像名称。

5.1.1. 镜像容器类型

默认情况下,kn func build 使用 Red Hat Source-to-Image (S2I) 技术创建一个容器镜像。

使用 Red Hat Source-to-Image (S2I) 的 build 命令示例.

$ kn func build

5.1.2. 镜像 registry 类型

OpenShift Container Registry 默认用作存储功能镜像的镜像 registry。

使用 OpenShift Container Registry 的 build 命令示例

$ kn func build

输出示例

Building function image
Function image has been built, image: registry.redhat.io/example/example-function:latest

您可以使用 --registry 标志覆盖使用 OpenShift Container Registry 作为默认镜像 registry:

build 命令覆盖 OpenShift Container Registry 以使用 quay.io

$ kn func build --registry quay.io/username

输出示例

Building function image
Function image has been built, image: quay.io/username/example-function:latest

5.1.3. push 标记

您可以将 --push 标志添加到 kn func build 命令中,以便在成功构建后自动推送功能镜像:

使用 OpenShift Container Registry 的 build 命令示例

$ kn func build --push

5.1.4. help 命令

您可以使用 help 命令了解更多有关 kn func build 命令选项的信息:

构建 help 命令

$ kn func help build