Menu Close

10.2.3. 构建功能

在运行功能前,您必须使用 kn func build 命令构建 function 项目。build 命令从功能项目目录中读取 func.yaml 文件,以确定镜像名称和 registry。

func.yaml示例

name: example-function
namespace: default
runtime: node
image: <image_from_registry>
imageDigest: ""
trigger: http
builder: default
builderMap:
  default: quay.io/boson/faas-nodejs-builder
envs: {}

如果没有在 func.yaml 文件中设置镜像名称和 registry,在使用 kn func build 命令时必须指定 registry 标记 -r,或者在构建功能时提示您在终端中提供 registry 值。然后,镜像名称会根据您提供的 registry 值进行命名。

使用 -r registry 标记的命令示例

$ kn func build [-i <image> -r <registry> -p <path>]

输出示例

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

此命令会创建一个可在您的计算机或 Kubernetes 集群中本地运行的 OCI 容器镜像。

使用 registy 提示符的示例

$ kn func build
A registry for function images is required (e.g. 'quay.io/boson').

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

镜像和 registry 的值会保留到 func.yaml 文件中,因此后续调用不需要用户再次指定这些值。