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에서 설정하는 플로우 스키마 및 우선순위 레벨을 검토하십시오.

  1. IBM Cloud Kubernetes Service 에 의해 설정된 것을 포함하여 클러스터 내의 모든 플로우 스키마와 해당 우선순위 수준을 나열합니다.
    kubectl get flowschemas
    
  2. 우선순위 지정된 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