Une utilisation élevée de la base de données etcd peut entraîner une instabilité du cluster et une pénurie de ressources qui empêchent vos clusters Google Kubernetes Engine (GKE) de s'adapter efficacement.
Ce document vous explique comment identifier les clusters dont l'utilisation d'etcd approche de sa limite et comment trouver des recommandations pour libérer de l'espace, ce qui vous aidera à garantir la stabilité de votre cluster.
Ces informations sont importantes pour les administrateurs et opérateurs de plate-forme chargés de maintenir l'état et la scalabilité des clusters GKE. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez Rôles utilisateur et tâches courantes de GKE.
Ce document explique comment résoudre les problèmes de stabilité des clusters liés à une utilisation élevée d'etcd. Si vous rencontrez un autre problème de scalabilité, l'un des documents suivants peut vous aider :
Problèmes liés à l'autoscaler de cluster :
- Pour résoudre les problèmes liés à l'ajout de nœuds, consultez Résoudre les problèmes liés à l'autoscaler de cluster qui n'effectue pas de scaling à la hausse.
- Pour résoudre les problèmes liés à la non-suppression des nœuds sous-utilisés, consultez Résoudre les problèmes d'autoscaler de cluster qui n'effectue pas de scaling à la baisse.
Problèmes liés à l'autoscaler horizontal de pods : pour résoudre les problèmes liés au non-fonctionnement de votre autoscaler horizontal de pods, consultez Résoudre les problèmes d'autoscaling horizontal de pods.
Problèmes de scaling Autopilot : pour en savoir plus sur les problèmes spécifiques à Autopilot, y compris ceux liés au scaling, consultez Résoudre les problèmes liés aux clusters Autopilot.
Identifier les clusters dont l'utilisation d'etcd approche de la limite
GKE fournit des insights et des recommandations lorsque l'utilisation d'etcd approche de la limite. Vous pouvez trouver ces insights et recommandations de différentes manières :
- Utilisez la console Google Cloud . Accédez à la page des clusters Kubernetes. Dans la colonne Notifications de clusters spécifiques, recherchez la recommandation Libérez de l'espace pour réduire le risque d'instabilité du cluster.
Utilisez la gcloud CLI ou l'API Recommender en spécifiant le sous-type d'outil de recommandation
ETCD_DB_USAGE_APPROACHING_LIMIT
.Pour interroger cette recommandation, exécutez la commande suivante :
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
Pour appliquer cette recommandation, supprimez les données inutiles de la base etcd pour libérer de l'espace. Vous pouvez supprimer d'anciennes ressources ou transférer des objets volumineux en dehors de la base de données. Pour en savoir plus, consultez Planifier des clusters GKE volumineux.
Identifier les clusters où l'utilisation du stockage par type d'objet approche de la limite
GKE fournit des insights et des recommandations lorsque la taille totale des objets etcd par type approche de la limite. Vous pouvez trouver ces insights et recommandations de différentes manières :
- Utilisez la console Google Cloud . Accédez à la page des clusters Kubernetes. Dans la colonne Notifications de clusters spécifiques, recherchez la recommandation Réduisez la taille du ou des types de ressources.
Utilisez la gcloud CLI ou l'API Recommender en spécifiant le sous-type d'outil de recommandation
APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT
.Pour interroger cette recommandation, exécutez la commande suivante :
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"
Pour décider quels objets supprimer, vous pouvez utiliser kubectl pour les lister. Par exemple, si les ConfigMaps approchent de la limite de stockage, la commande suivante affichera tous les ConfigMaps de tous les espaces de noms, ce qui vous aidera à identifier ceux qui peuvent être supprimés :
kubectl get configmaps --all-namespaces > new_file.txt
Pour mettre en œuvre cette recommandation et libérer de l'espace, supprimez tous les objets inutiles des types spécifiés du stockage. Cela peut nécessiter de supprimer d'anciennes ressources ou de transférer des objets volumineux en dehors de l'espace de stockage. Pour en savoir plus, consultez Planifier des clusters GKE volumineux.
Étapes suivantes
Si vous ne trouvez pas de solution à votre problème dans la documentation, consultez Obtenir de l'aide pour bénéficier d'une assistance supplémentaire, y compris des conseils sur les sujets suivants :
- Ouvrir une demande d'assistance en contactant Cloud Customer Care.
- Obtenir de l'aide de la communauté en posant des questions sur Stack Overflow et en utilisant le tag
google-kubernetes-engine
pour rechercher des problèmes similaires. Vous pouvez également rejoindre le canal Slack#kubernetes-engine
pour obtenir une assistance supplémentaire de la communauté. - Signaler des bugs ou demander des fonctionnalités à l'aide de l'outil public de suivi des problèmes.