Définition de la fonction Kubernetes APF (API Priority and Fairness)
Des paramètres définis par défaut pour vos clusters IBM Cloud Kubernetes Service permettent de traiter simultanément plusieurs demandes adressées au serveur d'API et d'empêcher la surcharge du trafic. Vous pouvez configurer vos propres schémas de flux et niveaux de priorité pour les demandes adressées au serveur d'API de vos clusters. Pour plus d'informations, consultez la section « Priorité et équité des API » dans la documentation d' Kubernetes.
Par exemple, vous disposez peut-être d'un utilisateur ou d'un espace de noms qui exécute vos applications critiques en production. Vous pouvez créer un schéma de flux et un niveau de priorité afin de doter vos applications critiques d'une priorité supérieure à celle d'autres applications du cluster pour l'exécution de leurs demandes par le serveur d'API.
Examen des schémas de flux et des niveaux de priorité par défaut
IBM Cloud Kubernetes Service définit certains schémas de flux et niveaux de priorité par défaut en plus des paramètres par défaut de Kubernetes.
| Schéma de flux | Ressources dont proviennent les demandes | Niveau de priorité |
|---|---|---|
apiserver-health |
Ressources d'intégrité du serveur API Kubernetes | Niveau de priorité personnalisé pour ces ressources. |
calico-apiserver-service-accounts |
Ressources de l'espace de nom calico-apiserver, qui utilisent un compte de service dans l'espace de nom |
Même priorité que les comptes de service de l'espace de noms kube-system. Ce schéma est disponible pour la version 1.31 et les versions ultérieures d' IBM Cloud Kubernetes Service. |
calico-system-service-accounts |
Ressources de l'espace de nom calico-system, qui utilisent un compte de service dans l'espace de nom |
Même priorité que les comptes de service de l'espace de noms kube-system. Ce schéma est disponible pour la version 1.29 et les versions ultérieures d' IBM Cloud Kubernetes Service. |
ibm-admin |
Ressources des administrateurs de cluster IBM | Exempte les demandes des administrateurs de cluster des restrictions de priorité. |
ibm-system-service-accounts |
Ressources de l'espace de nom ibm-system, qui utilisent un compte de service dans l'espace de nom |
Même priorité que les comptes de service d'espace de nom kube-system |
ibm-operators-service-accounts |
Ressources de l'espace de nom ibm-operators, qui utilisent un compte de service dans l'espace de nom |
Même priorité que les comptes de service de l'espace de noms kube-system. |
system-node-proxiers |
Le kube-proxy |
Même priorité que kubelet |
tigera-operator-service-accounts |
Ressources de l'espace de nom tigera-operator, qui utilisent un compte de service dans l'espace de nom |
Même priorité que les comptes de service de l'espace de noms kube-system. Ce schéma est disponible pour la version 1.29 et les versions ultérieures d' IBM Cloud Kubernetes Service. |
Vous pouvez créer votre propre schéma de flux et vos priorités, mais ne modifiez pas les paramètres par défaut. Des résultats inattendus peuvent se produire dans votre cluster lorsque vous modifiez les priorités de demande d'API.
Suivez les étapes indiquées pour passer en revue les schémas de flux et les niveaux de priorité définis par IBM Cloud Kubernetes Service.
- Répertoriez tous les schémas de flux de votre cluster, y compris ceux définis par IBM Cloud Kubernetes Service, ainsi que leurs niveaux de priorité respectifs.
kubectl get flowschemas - Consultez les détails d'un schéma de flux spécifique, notamment les ressources pouvant émettre des demandes d'API classées par ordre de priorité, le type de demandes d'API pouvant être effectuées et les objets que les demandes peuvent modifier.
kubectl describe flowschema <flow-schema-name>
Affichage des configurations de niveau de priorité IBM Cloud Kubernetes Service créées
IBM Cloud Kubernetes Service définit une configuration de niveau de priorité personnalisée pour la ressource apiserver-health.
Utilisez les commandes suivantes pour afficher des détails sur la configuration.
kubectl get prioritylevelconfiguration apiserver-health
kubectl describe prioritylevelconfiguration apiserver-health