El uso elevado de la base de datos de etcd puede causar inestabilidad en el clúster y escasez de recursos, lo que impide que tus clústeres de Google Kubernetes Engine (GKE) se escale de manera eficaz.
Usa este documento para identificar los clústeres en los que el uso de etcd se acerca a su límite y encontrar recomendaciones para liberar espacio, lo que te ayudará a garantizar que tu clúster permanezca estable.
Esta información es importante para los administradores y operadores de la plataforma responsables de mantener el buen estado y la escalabilidad de los clústeres de GKE. Para obtener más información sobre los roles comunes y las tareas de ejemplo a los que hacemos referencia en el contenido de Google Cloud , consulta Roles y tareas comunes de los usuarios de GKE.
En este documento, se explica cómo solucionar problemas de estabilidad del clúster relacionados con el uso elevado de etcd. Si tienes un problema de escalabilidad diferente, es posible que uno de los siguientes documentos te ayude:
Problemas del escalador automático de clústeres:
- Para solucionar problemas relacionados con la falta de incorporación de nodos nuevos, consulta Soluciona problemas relacionados con el escalador automático de clústeres que no escala verticalmente.
- Para solucionar problemas relacionados con la no eliminación de nodos subutilizados, consulta Soluciona problemas relacionados con el escalador automático de clústeres que no reduce verticalmente la escala.
Problemas con Horizontal Pod Autoscaler: Para solucionar problemas relacionados con el Horizontal Pod Autoscaler, consulta Soluciona problemas del ajuste de escala automático horizontal de Pods.
Problemas de escalamiento de Autopilot: Para obtener más información sobre los problemas específicos de Autopilot, incluidos los relacionados con el escalamiento, consulta Soluciona problemas de clústeres de Autopilot.
Identifica los clústeres en los que el uso de etcd está por alcanzar el límite
GKE proporciona estadísticas y recomendaciones para el caso en que el uso de etcd se acerca al límite. Puedes encontrar estas estadísticas y recomendaciones de las siguientes maneras:
- Usa la Google Cloud consola. Ve a la página Clústeres de Kubernetes. En la columna Notificaciones para clústeres específicos, busca la recomendación Libera espacio para reducir el riesgo de inestabilidad del clúster.
Usa gcloud CLI o la API de Recommender especificando el subtipo de recomendador
ETCD_DB_USAGE_APPROACHING_LIMIT
.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, quita los datos innecesarios de etcd para liberar espacio. Esto puede implicar borrar recursos antiguos o mover objetos grandes fuera de etcd. Para obtener más información, consulta Planifica para clústeres de GKE grandes.
Identifica los clústeres en los que el uso del almacenamiento por tipo de objeto se acerca al límite
GKE proporciona estadísticas y recomendaciones para el caso en que el tamaño total de los objetos etcd por tipo se acerca al límite. Puedes encontrar estas estadísticas y recomendaciones de las siguientes maneras:
- Usa la Google Cloud consola. Ve a la página Clústeres de Kubernetes. En la columna Notificaciones de clústeres específicos, busca la recomendación Reduce the size of resource type(s).
Usa gcloud CLI o la API de Recommender especificando el subtipo de recomendador
APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT
.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 quitar, puedes usar kubectl para enumerarlos. Por ejemplo, si los ConfigMaps se acercan al límite de almacenamiento, el siguiente comando generará todos los ConfigMaps en todos los espacios de nombres, lo que te ayudará a identificar los candidatos para su eliminación:
kubectl get configmaps --all-namespaces > new_file.txt
Para implementar esta recomendación y liberar espacio, quita del almacenamiento los objetos innecesarios de los tipos especificados. Este proceso puede implicar borrar recursos antiguos o mover objetos grandes fuera del almacenamiento. Para obtener más información, consulta Planifica para clústeres de GKE grandes.
¿Qué sigue?
Si no encuentras una solución a tu problema en la documentación, consulta Obtener asistencia para obtener más ayuda, como asesoramiento en los siguientes temas:
- Comunicarse con Atención al cliente de Cloud para abrir un caso de asistencia.
- Hacer preguntas en StackOverflow para obtener asistencia de
la comunidad y usar la etiqueta
google-kubernetes-engine
para buscar problemas similares. También puedes unirte al canal de Slack#kubernetes-engine
para obtener más Asistencia de la comunidad. - Abrir errores o solicitudes de funciones con la herramienta de seguimiento de errores pública.