13.3. func.yaml 中的可配置字段
				您可以配置一些 func.yaml 字段。
			
13.3.1. func.yaml 中的可配置字段
					在创建、构建和部署您的功能时,func.yaml 中的许多字段会自动生成。但是,您也可以手动修改以更改操作,如函数名称或镜像名称。
				
13.3.1.1. buildEnvs
						buildEnvs 字段允许您设置环境变量,供构建您的功能的环境使用。与使用 envs 设置的变量不同,使用 buildEnv 的变量集合在函数运行时不可用。
					
						您可以直接从值设置 buildEnv 变量。在以下示例中,名为 EXAMPLE1 的 buildEnv 变量被直接分配为 one 值:
					
buildEnvs: - name: EXAMPLE1 value: one
buildEnvs:
- name: EXAMPLE1
  value: one
						您还可以从本地环境变量设置 buildEnv 变量。在以下示例中,名为 EXAMPLE2 的 buildEnv 变量被分配了 LOCAL_ENV_VAR 本地环境变量的值:
					
buildEnvs:
- name: EXAMPLE1
  value: '{{ env:LOCAL_ENV_VAR }}'
buildEnvs:
- name: EXAMPLE1
  value: '{{ env:LOCAL_ENV_VAR }}'13.3.1.2. envs
						envs 字段允许您在运行时设置环境变量供您的功能使用。您可以通过几种不同方式设置环境变量:
					
- 直接来自一个值。
- 来自分配给本地环境变量的值)。如需更多信息,请参阅"引用来自 func.yaml 字段中的本地环境变量"。
- 从存储在 secret 或配置映射中的键值对。
- 您还可以导入存储在 secret 或配置映射中的所有键值对,其键用作所创建的环境变量的名称。
这个示例演示了设置环境变量的不同方法:
13.3.1.3. builder
						builder 字段指定函数用于构建镜像的策略。它接受 pack 或 s2i 的值。
					
13.3.1.4. build
						build 字段指示如何构建函数。local 值表示该函数在您的机器上本地构建。git 值表示函数使用 git 字段中指定的值来在集群中构建。
					
13.3.1.5. 卷
						volumes 字段允许您将 secret 和配置映射作为可在指定路径的函数访问的卷挂载,如下例所示:
					
13.3.1.6. 选项
						options 字段允许您修改部署的功能的 Knative Service 属性,如自动扩展。如果未设置这些选项,则使用默认的选项。
					
这些选项可用:
- scale- 
										min:最小副本数。必须是一个非负的整数。默认值为 0。
- 
										max:最大副本数。必须是一个非负的整数。默认值为 0,这代表没有限制。
- 
										metric:定义 Autoscaler 监视哪一指标类型。它可以被设置为concurrency(默认),或rps。
- 
										target:建议根据同时传入的请求数量,何时向上扩展。target选项可以是大于 0.01 的浮点值。除非设置了options.resources.limits.concurrency,否则默认为100,在这种情况下,目标默认为其值。
- 
										utilization:向上扩展前允许的并发请求利用率百分比.它可以是 1 到 100 之间的一个浮点值。默认值为 70。
 
- 
										
- 资源- requests- 
												cpu:具有部署功能的容器的 CPU 资源请求。
- 
												memory:具有部署功能的容器的内存资源请求。
 
- 
												
- limits- 
												cpu:具有部署功能的容器的 CPU 资源限值。
- 
												memory:具有部署功能的容器的内存资源限制。
- 
												concurrency:单个副本处理的并发请求的硬限制。它可以是大于或等于 0 的整数值,默认为 0 - 表示无限制。
 
- 
												
 
						这是 scale 选项配置示例:
					
13.3.1.7. image
						image 字段在构建后为您的功能设置镜像名称。您可以修改此字段。如果您这样做,在下次运行 kn func build 或 kn func deploy 时,功能镜像将使用新名称创建。
					
13.3.1.8. imageDigest
						在部署函数时,imageDigest 字段包含镜像清单的 SHA256 哈希。不要修改这个值。
					
13.3.1.9. labels
						labels 字段允许您在部署的功能中设置标签。
					
						您可以直接从值设置标签。在以下示例中,带有 role 键的标签直接被分配了 backend 的值:
					
labels: - key: role value: backend
labels:
- key: role
  value: backend
						您还可以从本地环境变量设置标签。在以下示例中,为带有 author 键的标签分配 USER 本地环境变量的值:
					
labels:
- key: author
  value: '{{ env:USER }}'
labels:
- key: author
  value: '{{ env:USER }}'13.3.1.10. name
						name 字段定义您的函数的名称。该值在部署时用作 Knative 服务的名称。您可以更改此字段来重命名后续部署中的函数。
					
13.3.1.11. namespace
						namespace 字段指定部署您的功能的命名空间。
					
13.3.1.12. runtime
						runtime 字段指定您的功能的语言运行时,如 python。