Kubernetes API 우선순위 및 공정성 설정
IBM Cloud Kubernetes Service 클러스터에는 API 서버에 대한 동시 요청을 처리하고 트래픽 과부하를 방지하기 위한 기본 설정이 있습니다. 클러스터의 API 서버에 작성되는 요청에 대해 고유의 플로우 스키마 및 우선순위 레벨을 구성할 수 있습니다. 자세한 내용은 ‘ Kubernetes ’ 문서의 ‘API 우선순위 및 공정성’ 섹션을 참조하십시오.
예를 들어, 프로덕션에서 중요한 앱을 실행하는 사용자 또는 네임스페이스가 있을 수 있습니다. 플로우 스키마 및 우선순위를 작성하여 중요한 앱이 클러스터의 다른 앱보다 요청을 이행하기 위해 API 서버에 대해 더 높은 우선순위를 갖도록 할 수 있습니다.
기본 플로우 스키마 및 우선순위 레벨 검토
IBM Cloud Kubernetes Service에서는 Kubernetes의 기본 설정 외에도 특정 기본 플로우 스키마 및 우선순위 레벨을 설정합니다.
| 플로우 스키마 | 요청이 발생하는 리소스 | 우선순위 레벨 |
|---|---|---|
apiserver-health |
Kubernetes API 서버 상태 리소스 | 이러한 리소스에 대한 사용자 정의 우선순위 레벨 |
calico-apiserver-service-accounts |
네임스페이스의 서비스 계정을 사용하는 calico-apiserver 네임스페이스의 리소스 |
kube-system 네임스페이스 서비스 계정과 동일한 우선순위를 가집니다. 이 스키마는 IBM Cloud Kubernetes Service 의 1.31 버전 이상에서 사용할 수 있습니다. |
calico-system-service-accounts |
네임스페이스의 서비스 계정을 사용하는 calico-system 네임스페이스의 리소스 |
kube-system 네임스페이스 서비스 계정과 동일한 우선순위를 가집니다. 이 스키마는 IBM Cloud Kubernetes Service 의 1.29 버전 이상에서 사용할 수 있습니다. |
ibm-admin |
IBM 클러스터 관리자의 리소스 | 클러스터 관리자가 요청을 우선순위 제한사항에서 면제합니다. |
ibm-system-service-accounts |
네임스페이스의 서비스 계정을 사용하는 ibm-system 네임스페이스의 리소스 |
kube-system 네임스페이스 서비스 계정과 동일한 우선순위 |
ibm-operators-service-accounts |
네임스페이스의 서비스 계정을 사용하는 ibm-operators 네임스페이스의 리소스 |
kube-system 네임스페이스 서비스 계정과 동일한 우선순위를 가집니다. |
system-node-proxiers |
kube-proxy |
kubelet과(와) 동일한 우선순위 |
tigera-operator-service-accounts |
네임스페이스의 서비스 계정을 사용하는 tigera-operator 네임스페이스의 리소스 |
kube-system 네임스페이스 서비스 계정과 동일한 우선순위를 가집니다. 이 스키마는 IBM Cloud Kubernetes Service 의 1.29 버전 이상에서 사용할 수 있습니다. |
사용자 고유의 플로우 스키마 및 우선순위를 작성할 수 있지만 기본 설정을 수정하지는 마십시오. API 요청 우선순위를 수정할 때 클러스터에서 예기치 않은 결과가 발생할 수 있습니다.
단계를 따라 IBM Cloud Kubernetes Service에서 설정하는 플로우 스키마 및 우선순위 레벨을 검토하십시오.
- IBM Cloud Kubernetes Service 에 의해 설정된 것을 포함하여 클러스터 내의 모든 플로우 스키마와 해당 우선순위 수준을 나열합니다.
kubectl get flowschemas - 우선순위 지정된 API 요청을 작성할 수 있는 리소스, 작성될 수 있는 API 요청 유형, 요청이 수정할 수 있는 오브젝트를 포함하여 특정 플로우 스키마의 세부사항을 검토하십시오.
kubectl describe flowschema <flow-schema-name>
IBM Cloud Kubernetes Service 작성 우선순위 레벨 구성 보기
IBM Cloud Kubernetes Service에서는 apiserver-health 리소스에 대한 사용자 정의 우선순위 레벨 구성을 설정합니다.
구성에 대한 세부사항을 보려면 다음 명령을 사용하십시오.
kubectl get prioritylevelconfiguration apiserver-health
kubectl describe prioritylevelconfiguration apiserver-health