3장. Serverless 애플리케이션 구성
3.1. Knative Serving 시스템 배포 구성 덮어쓰기
KnativeServing
CR(사용자 정의 리소스)에서 deployments 사양을 수정하여 일부 특정 배포
의 기본 구성을 덮어쓸 수 있습니다.
참고
기본적으로 배포에 정의된 프로브만 재정의할 수 있습니다.
모든 Knative Serving 배포는 기본적으로 준비 상태 및 활성 상태 프로브를 정의합니다. 이러한 예외는 다음과 같습니다.
-
net-kourier-controller
및3scale-kourier-gateway
는 준비 상태 프로브만 정의합니다. -
net-istio-controller
및net-istio-webhook
는 프로브를 정의하지 않습니다.
3.1.1. 시스템 배포 구성 덮어쓰기
현재는 리소스
,복제본
,레이블
,주석
, nodeSelector
필드에는 기본 구성 설정을 재정의하고 프로브
의 준비 및 활성 필드에도 지원됩니다.
다음 예에서 KnativeServing
CR은 다음과 같이 Webhook
배포를 덮어씁니다.
-
net-kourier-controller
에 대한준비 상태
프로브 타임아웃은 10초로 설정되어 있습니다. - 배포에 지정된 CPU 및 메모리 리소스 제한이 있습니다.
- 배포에는 3개의 복제본이 있습니다.
-
example-label: label
레이블이 추가되었습니다. -
example-annotation: 주석
주석이 추가되었습니다. -
nodeSelector
필드는disktype: hdd
라벨이 있는 노드를 선택하도록 설정됩니다.
참고
KnativeServing
CR 레이블 및 주석 설정은 배포 자체와 결과 Pod 모두에 대한 배포 레이블 및 주석을 재정의합니다.
KnativeServing CR 예
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
name: ks
namespace: knative-serving
spec:
high-availability:
replicas: 2
deployments:
- name: net-kourier-controller
readinessProbes: 1
- container: controller
timeoutSeconds: 10
- name: webhook
resources:
- container: webhook
requests:
cpu: 300m
memory: 60Mi
limits:
cpu: 1000m
memory: 1000Mi
replicas: 3
labels:
example-label: label
annotations:
example-annotation: annotation
nodeSelector:
disktype: hdd
- 1
프로브
처리기와 관련된 필드인exec
,grpc
,httpGet
및tcpSocket
와 관련된 필드를 제외하고readiness
및 활성 프로브 덮어쓰기를 사용하여 Kubernetes API에 지정된 배포 컨테이너의 모든 필드를 덮어쓸 수 있습니다.
추가 리소스