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.
| 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.
- 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 - Ü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