13.3. func.yaml의 구성 가능한 필드
				일부 func.yaml 필드를 구성할 수 있습니다.
			
13.3.1. func.yaml의 구성 가능한 필드
					func.yaml의 대부분의 필드는 함수를 생성, 빌드 및 배포할 때 자동으로 생성됩니다. 그러나 함수 이름 또는 이미지 이름과 같은 사항을 변경하기 위해 수동으로 변경하는 필드도 있습니다.
				
13.3.1.1. buildEnvs
						buildEnvs 필드를 사용하면 함수를 빌드하는 환경에서 환경 변수를 사용할 수 있도록 설정할 수 있습니다. envs 를 사용하여 설정한 변수와 달리 buildEnv 를 사용하여 설정된 변수는 함수 런타임 중에 사용할 수 없습니다.
					
						값에서 직접 buildEnv 변수를 설정할 수 있습니다. 다음 예에서 EXAMPLE1 이라는 buildEnv 변수에는 하나의 값이 직접 할당됩니다.
					
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 필드에서 로컬 환경 변수 참조 섹션을 참조하십시오.
- 시크릿 또는 구성 맵에 저장된 키-값 쌍에서 설정합니다.
- 생성된 환경 변수의 이름으로 사용되는 키를 사용하여 시크릿 또는 구성 맵에 저장된 모든 키-값 쌍을 가져올 수도 있습니다.
이 예제에서는 환경 변수를 설정하는 다양한 방법을 보여줍니다.
13.3.1.3. builder
						builder 필드는 함수에서 이미지를 빌드하는 데 사용하는 전략을 지정합니다. pack 또는 s2i 의 값을 허용합니다.
					
13.3.1.4. Build
						build 필드는 함수를 빌드하는 방법을 나타냅니다. local 값은 함수가 시스템에 로컬로 빌드됨을 나타냅니다. 값 git 은 함수가 git 필드에 지정된 값을 사용하여 클러스터에 빌드되었음을 나타냅니다.
					
13.3.1.5. volumes
						volumes 필드를 사용하면 다음 예와 같이 지정된 경로에서 기능에 액세스할 수 있는 볼륨으로 시크릿 및 구성 맵을 마운트할 수 있습니다.
					
13.3.1.6. options
						options 필드를 사용하면 자동 스케일링과 같이 배포된 함수에 대한 Knative Service 속성을 수정할 수 있습니다. 이러한 옵션이 설정되어 있지 않으면 기본 옵션이 사용됩니다.
					
다음 옵션을 사용할 수 있습니다.
- scale- 
										min: 최소 복제 수입니다. 음수가 아닌 정수여야 합니다. 기본값은 0입니다.
- 
										max: 최대 복제본 수입니다. 음수가 아닌 정수여야 합니다. 기본값은 0이며 이는 제한이 없음을 의미합니다.
- 
										metric: Autoscaler에서 감시하는 메트릭 유형을 정의합니다. 기본값인concurrency또는rps로 설정할 수 있습니다.
- 
										target: 동시에 수신되는 요청 수에 따라 버전을 확장할 시기에 대한 권장 사항을 제공합니다.target옵션은 0.01보다 큰 부동 소수점 값을 지정할 수 있습니다.options.resources.limits.concurrency가 설정되지 않는 한 기본값은 100입니다. 이 경우target은 기본값으로 설정됩니다.
- 
										utilization: 스케일 업하기 전에 허용된 동시 요청 사용률(백분율)입니다. 1에서 100까지의 부동 소수점 값을 지정할 수 있습니다. 기본값은70입니다.
 
- 
										
- resources- 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 필드를 사용하면 배포된 함수에 라벨을 설정할 수 있습니다.
					
						값에서 직접 레이블을 설정할 수 있습니다. 다음 예에서 역할 키가 있는 레이블에는 백엔드 값이 직접 할당됩니다.
					
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 )을 지정합니다.