7.5. 포드 중단 예산 설정
Pod 중단 예산 은 Kubernetes API의 일부이며 다른 오브젝트 유형과 같은 oc
명령으로 관리할 수 있습니다. 유지 관리를 위해 노드를 드레이닝하는 것과 같이 작업 중에 pod 에 대한 보안 제약 조건을 지정할 수 있습니다.
PodDisruptionBudget
은 동시에 작동해야 하는 최소 복제본 수 또는 백분율을 지정하는 API 오브젝트입니다. 프로젝트에서 이러한 설정은 노드 유지 관리 (예: 클러스터 축소 또는 클러스터 업그레이드) 중에 유용할 수 있으며 (노드 장애 시가 아니라) 자발적으로 제거된 경우에만 적용됩니다.
PodDisruptionBudget
오브젝트의 구성은 다음과 같은 주요 부분으로 구성되어 있습니다.
- 일련의 pod에 대한 라벨 쿼리 기능인 라벨 선택기입니다.
- 동시에 사용할 수 있어야 하는 최소 Pod 수를 지정하는 가용성 수준입니다.
다음은 PodDisruptionBudget
리소스의 예입니다.
apiVersion: policy/v1beta1 1 kind: PodDisruptionBudget metadata: name: my-pdb spec: selector: 2 matchLabels: foo: bar minAvailable: 2 3
위의 오브젝트 정의를 사용하여 YAML 파일을 생성한 경우 다음을 사용하여 프로젝트에 추가할 수 있습니다.
$ oc create -f </path/to/file> -n <project_name>
다음을 사용하여 모든 프로젝트에서 pod 중단 예산을 확인할 수 있습니다.
$ oc get poddisruptionbudget --all-namespaces NAMESPACE NAME MIN-AVAILABLE SELECTOR another-project another-pdb 4 bar=foo test-project my-pdb 2 foo=bar
PodDisruptionBudget
은 시스템에서 최소 minAvailable
pod가 실행중인 경우 정상으로 간주됩니다. 이 제한을 초과하는 모든 Pod는 제거할 수 있습니다.
Pod 우선순위 및 선점 설정에 따라 우선순위가 낮은 Pod는 Pod 중단 예산 요구 사항에도 불구하고 제거될 수 있습니다.