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