Priorität und Fairness für Kubernetes-API festlegen

Ihre IBM Cloud Kubernetes Service-Cluster haben Standardeinstellungen, um simultane Anforderungen an den API-Server zu verarbeiten und eine Überbelastung durch Datenverkehr zu verhindern. Sie können Ihr eigenes Datenflussschema und Ihre Prioritätsstufen für Anforderungen konfigurieren, die an den API-Server Ihrer Cluster gestellt werden. Weitere Informationen finden Sie unter „ API-Priorität und Fairness “ in der Dokumentation zu „ Kubernetes “.

Zum Beispiel verfügen Sie möglicherweise über einen Benutzer oder Namensbereich, der Ihre kritischen Apps in der Produktion ausführt. In diesem Fall können Sie ein Datenflussschema und eine Priorität erstellen, sodass Ihre kritischen Apps bei der Ausführung ihrer Anforderungen eine höhere Priorität für den API-Server haben als andere Apps im Cluster.

Standarddatenflussschema und Prioritätsstufen überprüfen

IBM Cloud Kubernetes Service legt zusätzlich zu den Kubernetes-Standardeinstellungen ein bestimmtes Standarddatenflussschema und Prioritätsstufen fest.

Standardablaufschema und Prioritätsstufen
Ablaufschema Ressourcen, von denen Anforderungen stammen Prioritätsstufe
apiserver-health Kubernetes-API-Serverzustandsressourcen Angepasste Prioritätsstufe für diese Ressourcen.
calico-apiserver-service-accounts Ressourcen im Namensbereich calico-apiserver, die ein Servicekonto im Namensbereich verwenden Gleiche Priorität wie die Dienstkonten des Namensraums „ kube-system “. Dieses Schema ist für die Version „ IBM Cloud Kubernetes Service “ ( 1.31 ) und höher verfügbar.
calico-system-service-accounts Ressourcen im Namensbereich calico-system, die ein Servicekonto im Namensbereich verwenden Gleiche Priorität wie die Dienstkonten des Namensraums „ kube-system “. Dieses Schema ist für die Version „ IBM Cloud Kubernetes Service “ ( 1.29 ) und höher verfügbar.
ibm-admin Ressourcen von IBM-Clusteradministratoren Schließt Anforderungen von Clusteradministratoren von Prioritätsbeschränkungen aus.
ibm-system-service-accounts Ressourcen im Namensbereich ibm-system, die ein Servicekonto im Namensbereich verwenden Gleiche Priorität wie kube-system-Namensbereichsservicekonten
ibm-operators-service-accounts Ressourcen im Namensbereich ibm-operators, die ein Servicekonto im Namensbereich verwenden Gleiche Priorität wie die Dienstkonten des Namensraums „ kube-system “.
system-node-proxiers kube-proxy Gleiche Priorität wie kubelet
tigera-operator-service-accounts Ressourcen im Namensbereich tigera-operator, die ein Servicekonto im Namensbereich verwenden Gleiche Priorität wie die Dienstkonten des Namensraums „ kube-system “. Dieses Schema ist für die Version „ IBM Cloud Kubernetes Service “ ( 1.29 ) und höher verfügbar.

Sie können ein eigenes Ablaufschema und eigene Prioritäten erstellen, aber Sie können nicht die Standardeinstellungen ändern. Wenn Sie Prioritäten für API-Anforderungen ändern, können in Ihrem Cluster unerwartete Ergebnisse auftreten.

Führen Sie die Schritte zum Überprüfen der von IBM Cloud Kubernetes Service festgelegten Datenflussschemas und Prioritätsstufen aus.

  1. Listen Sie alle Ablaufschemata in Ihrem Cluster auf, einschließlich derjenigen, die über IBM Cloud Kubernetes Service festgelegt wurden, sowie deren entsprechende Prioritätsstufen.
    kubectl get flowschemas
    
  2. Überprüfen Sie die Details eines bestimmten Datenflussschemas. Dazu gehört, welche Ressourcen priorisierte API-Anforderungen abwickeln können, welche Typen von API-Anforderungen ausgeführt werden können und welche Objekte von den Anforderungen geändert werden können.
    kubectl describe flowschema <flow-schema-name>
    

Von IBM Cloud Kubernetes Service erstellte Konfigurationen auf Prioritätsebene anzeigen

IBM Cloud Kubernetes Service legt die Konfiguration einer angepassten Prioritätsstufe für die Ressource apiserver-health fest.

Verwenden Sie die folgenden Befehle, um Details zur Konfiguration anzuzeigen.

kubectl get prioritylevelconfiguration apiserver-health
kubectl describe prioritylevelconfiguration apiserver-health