15.2. Knative 배포를 위한 고가용성
HA(고가용성)는 Knative Serving activator
, autoscaler ,
,autoscaler
-hpacontroller
,webhook
,domainmapping ,
,domainmapping-
webhookkourier-control
, kourier-gateway
구성 요소에 각각 두 개의 복제본을 갖도록 구성되어 있습니다. KnativeServing
CR(사용자 정의 리소스)의 spec.high-availability.replicas
값을 수정하여 이러한 구성 요소의 복제본 수를 변경할 수 있습니다.
15.2.1. Knative Serving의 고가용성 복제본 구성 링크 복사링크가 클립보드에 복사되었습니다!
적합한 배포 리소스에 대해 최소 복제본 3개를 지정하려면 사용자 정의 리소스의 spec.high-availability.replicas
필드 값을 3
으로 설정합니다.
사전 요구 사항
- OpenShift Container Platform에 대한 클러스터 관리자 권한이 있거나 AWS 또는 OpenShift Dedicated의 Red Hat OpenShift Service에 대한 클러스터 또는 전용 관리자 권한이 있습니다.
- OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔에서 OperatorHub
설치된 Operator 로 이동합니다. -
knative-serving
네임스페이스를 선택합니다. - OpenShift Serverless Operator의 제공되는 API 목록에서 Knative Serving을 클릭하여 Knative Serving 탭으로 이동합니다.
- knative-serving을 클릭한 다음 knative-serving 페이지의 YAML 탭으로 이동합니다.
KnativeServing
CR의 복제본 수를 수정합니다.YAML의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 워크로드에 대한 복제본 수를 지정할 수도 있습니다.
참고워크로드별 구성이 Knative Serving의 글로벌 설정을 덮어씁니다.
YAML의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 고가용성 제한이 적용되는지 확인합니다.
명령 예
oc get hpa -n knative-serving
$ oc get hpa -n knative-serving
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE activator Deployment/activator 0%/100% 3 22 3 2m24s webhook Deployment/webhook 2%/100% 4 8 4 2m23s
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE activator Deployment/activator 0%/100% 3 22 3 2m24s webhook Deployment/webhook 2%/100% 4 8 4 2m23s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2. 중단 예산 덮어쓰기 링크 복사링크가 클립보드에 복사되었습니다!
Pod 중단 예산(PDB)은 유지 관리를 위해 Pod를 다시 예약해야 하는 경우 애플리케이션으로 중단을 제한하는 데 도움이 되는 Kubernetes API의 표준 기능입니다.
프로세스
-
KnativeServing
CR(사용자 정의 리소스)에서minAvailable
구성 값을 수정하여 특정 리소스에 대한 기본 PDB를 재정의합니다.
minAvailable
설정이 70%인 PDB의 예
high-availability.replicas
값을 1
로 변경하여 고가용성을 비활성화하는 경우 해당 PDB minAvailable
값도 0
으로 업데이트하십시오. 그러지 않으면 Pod 중단 예산에서 자동 클러스터 또는 Operator 업데이트를 방지합니다.