Un uso elevado de la base de datos etcd puede provocar inestabilidad en el clúster y escasez de recursos, lo que impide que tus clústeres de Google Kubernetes Engine (GKE) se escalen de forma eficaz.
Consulta este documento para saber cómo identificar los clústeres en los que el uso de etcd se acerca al límite y encontrar recomendaciones para liberar espacio, lo que te ayudará a asegurarte de que tu clúster se mantenga estable.
Esta información es importante para los administradores y operadores de la plataforma responsables de mantener el estado y la escalabilidad de los clústeres de GKE. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de los usuarios de GKE. Google Cloud
En este documento se explica cómo solucionar problemas de estabilidad de clúster relacionados con un uso elevado de etcd. Si tienes otro problema de escalabilidad, puede que te sirva alguno de los siguientes documentos:
Problemas con la herramienta de adaptación dinámica de clústeres:
- Para solucionar problemas por los que no se añaden nodos nuevos, consulta Solucionar problemas por los que el autoescalador de clústeres no aumenta la escala.
- Para solucionar problemas por los que no se eliminan los nodos infrautilizados, consulta el artículo Solucionar problemas de la herramienta de escalado automático de clústeres que no reduce la escala.
Problemas con la herramienta de adaptación dinámica horizontal de pods: para solucionar problemas con la herramienta de adaptación dinámica horizontal de pods, consulta Solucionar problemas con la herramienta de adaptación dinámica horizontal de pods.
Problemas de escalado de Autopilot: para obtener más información sobre los problemas específicos de Autopilot, incluidos los relacionados con el escalado, consulta Solucionar problemas de clústeres de Autopilot.
Identificar clústeres en los que el uso de etcd se acerca al límite
GKE proporciona información valiosa y recomendaciones para el caso en el que el uso de etcd se acerca al límite. Puedes consultar estas estadísticas y recomendaciones de las siguientes formas:
- Usa la consola Google Cloud . Ve a la página Clústeres de Kubernetes. En la columna Notificaciones de clústeres específicos, busca la recomendación Libera espacio para reducir el riesgo de inestabilidad del clúster.
Usa la CLI de gcloud o la API Recommender especificando el subtipo
ETCD_DB_USAGE_APPROACHING_LIMIT
recommender.Para consultar esta recomendación, ejecuta el siguiente comando:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
Para implementar esta recomendación, elimina los datos innecesarios de etcd para liberar espacio. Esto puede implicar eliminar recursos antiguos o mover objetos grandes fuera de etcd. Para obtener más información, consulta Planificar clústeres grandes de GKE.
Identificar clústeres en los que el uso de almacenamiento por tipo de objeto se acerca al límite
GKE proporciona información valiosa y recomendaciones para el caso en el que el tamaño total de los objetos etcd por tipo se acerca al límite. Puedes consultar estas estadísticas y recomendaciones de las siguientes formas:
- Usa la consola Google Cloud . Ve a la página Clústeres de Kubernetes. En la columna Notificaciones de clústeres específicos, busca la recomendación Reduce el tamaño de los tipos de recursos.
Usa la CLI de gcloud o la API Recommender especificando el subtipo
APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT
recommender.Para consultar esta recomendación, ejecuta el siguiente comando:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"
Para decidir qué objetos quieres eliminar, puedes usar kubectl para enumerarlos. Por ejemplo, si los ConfigMaps se acercan al límite de almacenamiento, el siguiente comando mostrará todos los ConfigMaps de todos los espacios de nombres, lo que le ayudará a identificar los que se pueden eliminar:
kubectl get configmaps --all-namespaces > new_file.txt
Para implementar esta recomendación y liberar espacio, elimina del almacenamiento los objetos innecesarios de los tipos especificados. Este proceso puede implicar eliminar recursos antiguos o mover objetos grandes fuera del almacenamiento. Para obtener más información, consulta Planificar clústeres grandes de GKE.
Siguientes pasos
Si no encuentras una solución a tu problema en la documentación, consulta la sección Obtener asistencia para obtener más ayuda, incluidos consejos sobre los siguientes temas:
- Abrir un caso de asistencia poniéndose en contacto con el equipo de Atención al Cliente de Cloud.
- Obtener asistencia de la comunidad haciendo preguntas en Stack Overflow
y usando la etiqueta
google-kubernetes-engine
para buscar problemas similares. También puedes unirte al#kubernetes-engine
canal de Slack para obtener más ayuda de la comunidad. - Abrir errores o solicitudes de funciones mediante el seguimiento de problemas público.