×

func.yaml 文件包含函数项目的配置。执行 kn func 命令时,将使用 func.yaml 中指定的值。例如,运行 kn func build 命令时,将使用 build 字段中的值。在某些情况下,您可以使用命令行标志或环境变量覆盖这些值。

从 func.yaml 字段引用本地环境变量

如果您想避免将敏感信息(例如 API 密钥)存储在函数配置中,您可以添加对本地环境中可用环境变量的引用。您可以通过修改 func.yaml 文件中的 envs 字段来实现。

前提条件
  • 您需要创建函数项目。

  • 本地环境需要包含您要引用的变量。

步骤
  • 要引用本地环境变量,请使用以下语法:

    {{ env:ENV_VAR }}

    ENV_VAR 替换为您要使用的本地环境中变量的名称。

    例如,您可能在本地环境中拥有 API_KEY 变量。您可以将其值赋给 MY_API_KEY 变量,然后可以直接在您的函数中使用它。

    示例函数
    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - name: MY_API_KEY
      value: '{{ env:API_KEY }}'
    ...

向函数添加注释

您可以向已部署的无服务器函数添加 Kubernetes 注释。注释使您可以向函数附加任意元数据,例如关于函数用途的说明。注释添加到 func.yaml 配置文件的 annotations 部分。

函数注释功能有两个限制:

  • 函数注释传播到集群上相应的 Knative 服务后,无法通过从 func.yaml 文件中删除它来从服务中删除它。您必须通过直接修改服务的 YAML 文件或使用 OpenShift Container Platform Web 控制台来从 Knative 服务中删除注释。

  • 您不能设置由 Knative 设置的注释,例如 autoscaling 注释。

向函数添加注释

您可以向函数添加注释。与标签类似,注释定义为键值映射。注释非常有用,例如,用于提供关于函数的元数据,例如函数的作者。

前提条件
  • OpenShift Serverless 运算符和 Knative Serving 已安装在集群上。

  • 您已安装 Knative (kn) CLI。

  • 您已创建函数。

步骤
  1. 打开函数的 func.yaml 文件。

  2. 对于要添加的每个注释,请将以下 YAML 添加到 annotations 部分:

    name: test
    namespace: ""
    runtime: go
    ...
    annotations:
      <annotation_name>: "<annotation_value>" (1)
    1 <annotation_name>: "<annotation_value>" 替换为您的注释。

    例如,要指示函数由 Alice 创作,您可以包含以下注释:

    name: test
    namespace: ""
    runtime: go
    ...
    annotations:
      author: "[email protected]"
  3. 保存配置。

下次将函数部署到集群时,注释将添加到相应的 Knative 服务。