Con Google Kubernetes Engine (GKE), puedes recibir recomendaciones sobre cómo optimizar tus clústeres.
GKE monitoriza tus clústeres y, si hay posibles optimizaciones, se proporcionan directrices a través de Recommender, un servicio de Google Cloud que genera estadísticas y recomendaciones para usar recursos en Google Cloud. En GKE, Recommenders proporciona dos tipos de información:
- Una estadística explica que GKE ha detectado que el uso de tu clúster se puede optimizar de alguna forma.
- Una recomendación explica cómo optimizar el uso del clúster.
GKE proporciona esta información en la Google Cloud consola y también puedes encontrarla con la CLI de Google Cloud y la API Recommender. GKE ofrece Recommenders para temas como los siguientes:
- Obsolescencias: reduce la exposición a las funciones o APIs de Kubernetes obsoletas.
- Operaciones y conectividad: soluciona problemas relacionados con el plano de control y la conectividad de los nodos, así como con el uso de direcciones IP.
- Optimización de costes: implementa configuraciones y prácticas optimizadas para los costes. Por ejemplo, identifica clústeres de GKE inactivos o clústeres de GKE con aprovisionamiento excesivo.
- Escalabilidad: implementa prácticas para mejorar la fiabilidad, como escalar verticalmente clústeres de GKE con recursos insuficientes.
- Solicitudes y límites de recursos: define solicitudes y límites de recursos para evitar que los pods se terminen de forma abrupta cuando los nodos estén bajo presión de recursos y mejora la precisión de la asignación de costes.
- Agones: aisla el controlador de Agones en tu clúster.
- Interrupciones: asegúrate de que las cargas de trabajo tengan continuidad y se puedan recuperar durante el mantenimiento.
- Webhooks: asegúrate de que el plano de control sea estable al usar webhooks.
- Protección de datos: asegúrate de que las cargas de trabajo estén protegidas frente a eventos disruptivos.
- Credenciales del clúster: rota las credenciales del clúster para evitar interrupciones.
- Canales de lanzamiento: registra clústeres en un canal de lanzamiento.
- Ventanas de mantenimiento: elige un periodo de tiempo periódico en el que se realice el mantenimiento del clúster de GKE.
- Versiones admitidas: asegúrate de que los clústeres ejecuten una versión admitida que también cumpla la política de diferencia de versiones de GKE. Para obtener más información, consulta las secciones Actualizaciones automáticas al final del periodo de asistencia y Política de diferencia de versiones de GKE de la página de referencia.
- Permisos de la cuenta de servicio del nodo: asegúrate de que las cuentas de servicio del nodo tengan los permisos críticos necesarios para las operaciones normales de GKE.
- CRDs: asegúrate de que las operaciones del clúster sean estables corrigiendo los CRDs mal configurados con un paquete de CA no válido.
- Uso de etcd: asegúrate de que la base de datos etcd tenga suficiente almacenamiento para evitar la inestabilidad del clúster.
Antes de empezar
Antes de empezar, asegúrate de que has realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si quieres usar Google Cloud CLI para esta tarea, instálala y, a continuación, inicialízala. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando
gcloud components update
.
Roles obligatorios
Asegúrate de que tienes los permisos necesarios para las estadísticas y las recomendaciones de Kubernetes, ya sea con los siguientes roles básicos o roles predefinidos:
Para ver estadísticas y recomendaciones, debe tener uno de los siguientes roles:
Ver y actualizar el estado de las estadísticas y las recomendaciones (por ejemplo, rechazar una recomendación):
Ver estadísticas y recomendaciones
Puedes ver estadísticas y recomendaciones con la CLI de Google Cloud, en laGoogle Cloud consola o con la API Recommender.
Consola
Cuando veas recomendaciones en la consola, tendrás dos opciones. Puede usar la tarjeta de resultados de alto nivel situada en la parte superior de la vista para ver los resultados agregados de las recomendaciones de estado, actualización y optimización de costes de todos los clústeres de su proyecto.
También puedes ver una lista de recomendaciones por clúster.
Para ver las recomendaciones mediante el cuadro de resultados, siga estos pasos:
Ve a la página Google Kubernetes Engine en la Google Cloud consola:
Para ver el número de clústeres afectados por recomendaciones concretas, haga clic en Ver recomendaciones en la categoría que quiera consultar (Estado, Actualización o Coste). En el panel de la barra lateral que se muestra, hay una lista de recomendaciones que indica cuántos clústeres se ven afectados por cada recomendación.
Para ver más información, incluidos los nombres de los clústeres afectados, haz clic en el nombre de la recomendación.
Para ver más detalles de cada clúster afectado, vuelva a hacer clic en la recomendación.
Para ver las recomendaciones por clúster, sigue estos pasos:
Ve a la página Google Kubernetes Engine en la Google Cloud consola:
Consulta la columna Notificaciones de clústeres específicos para obtener estadísticas y recomendaciones.
Para ver más información, haz clic en la estadística. En el panel de la barra lateral que se muestra, puedes ver detalles sobre esta estadística, incluida cualquier recomendación asociada.
gcloud
Normalmente, las estadísticas tienen una recomendación correspondiente. Las estadísticas se obtienen con gcloud recommender insights
y las recomendaciones, con gcloud recommender recommendations
.
Consulta la lista de estadísticas de los clústeres de una zona específica (en el caso de los clústeres zonales) o de una región específica (en el caso de los clústeres regionales):
gcloud recommender insights list \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="insightSubtype:SUBTYPE"
Haz los cambios siguientes:
PROJECT_ID
: el Google Cloud ID de proyecto del proyecto en el que se encuentran los clústeres.LOCATION
: la región o zona exactas del clúster. En el caso de los clústeres zonales, debes proporcionar la zona exacta (por ejemplo,us-central1-c
). En el caso de los clústeres regionales, debes proporcionar la región exacta (por ejemplo,us-central1
).FORMAT
: cambia el formato de salida a YAML. Esta marca es opcional.SUBTYPE
: un subtipo de estadística; por ejemplo,DEPRECATION_K8S_1_23_CERTIFICATE
. De esta forma, la salida se limita a las estadísticas de un subtipo específico. Esta marca es opcional.
Si ya tienes un ID de estadística, puedes ver los detalles de la estadística ejecutando el siguiente comando:
gcloud recommender insights describe INSIGHT \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT
Sustituye
INSIGHT
por el valor del ID de la estadística, que se especifica al final de la URL del camponame
de la estadística.El resultado incluye más detalles sobre el comportamiento que ha detectado GKE en tu clúster.
Consulta la lista de recomendaciones de los clústeres de una zona concreta (en el caso de los clústeres zonales) o de una región concreta (en el caso de los clústeres regionales):
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="recommenderSubtype:SUBTYPE"
Sustituye
SUBTYPE
por un subtipo de recomendador, comoDEPRECATION_K8S_1_23_CERTIFICATE
. De esta forma, la salida se limita a las recomendaciones de un subtipo específico. Esta marca es opcional.Si ya tienes un ID de recomendación, puedes verla ejecutando el siguiente comando:
gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT
Sustituye
RECOMMENDATION_ID
por el valor guardado deassociatedRecommendations.recommendation
de la salida del comando del paso 1.El resultado proporciona orientación sobre las medidas que puedes tomar para optimizar el uso de GKE en tu clúster.
API
Cada estadística tiene una recomendación correspondiente. Las estadísticas se obtienen con el recurso REST projects.locations.insightTypes.insights y las recomendaciones se obtienen con el recurso REST projects.locations.recommenders.recommendations.
Consulta la lista de estadísticas de los clústeres de una zona específica (en el caso de los clústeres zonales) o de una región específica (en el caso de los clústeres regionales):
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights?filter=insightSubtype%20%3D%20SUBTYPE
Haz los cambios siguientes:
PROJECT_ID
: el Google Cloud ID de proyecto del proyecto en el que se encuentran los clústeres.LOCATION
: la región o zona exactas del clúster. En el caso de los clústeres zonales, debes proporcionar la zona exacta (por ejemplo,us-central1-c
). En el caso de los clústeres regionales, debes proporcionar la región exacta (por ejemplo,us-central1
).SUBTYPE
: un subtipo de estadística; por ejemplo,DEPRECATION_K8S_1_23_CERTIFICATE
. De esta forma, la salida se limita a las estadísticas de un subtipo específico. Esta marca es opcional.
Si ya tiene un ID de estadística, puede ver los detalles de la estadística haciendo la siguiente solicitud:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHT
Sustituye
INSIGHT
por el valor del ID de la estadística, que se especifica al final de la URL del camponame
de la estadística.El cuerpo de la respuesta incluye detalles sobre el comportamiento que ha detectado GKE en tu clúster.
Consulta la lista de recomendaciones de los clústeres de una zona concreta (en el caso de los clústeres zonales) o de una región concreta (en el caso de los clústeres regionales):
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPE
Sustituye
SUBTYPE
por un subtipo de recomendador, comoDEPRECATION_K8S_1_23_CERTIFICATE
. De esta forma, la salida se limita a las recomendaciones de un subtipo específico. Esta marca es opcional.Si ya tienes un ID de recomendación, puedes verla haciendo la siguiente solicitud:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_ID
Sustituye
RECOMMENDATION_ID
por el valor guardado deassociatedRecommendations.recommendation
del cuerpo de la respuesta del paso 1.El cuerpo de la respuesta proporciona directrices sobre las medidas que puedes tomar para optimizar el uso de GKE en tu clúster.
Exportar información valiosa y recomendaciones a BigQuery
Puede usar BigQuery para exportar y analizar las estadísticas y las recomendaciones de toda su organización. Para obtener más información, consulta el artículo sobre exportar recomendaciones a BigQuery.
Rechazar o restaurar recomendaciones
Si no quieres ver una recomendación de un clúster en la consolaGoogle Cloud , puedes cerrarla. Por ejemplo, puede hacerlo si ha evaluado la recomendación y ha decidido no implementarla.
Si rechazas la recomendación, no se mostrará a ningún usuario que vea el clúster en la consola. Después de descartar la recomendación, no volverá a aparecer aunque GKE detecte el mismo comportamiento.
Cuando rechazas una recomendación, solo se oculta para todos los usuarios de la consola. La recomendación se puede seguir descubriendo con la CLI de Google Cloud y la API Recommender.
Rechazar una recomendación
Para rechazar la recomendación, sigue las instrucciones para ver estadísticas y recomendaciones en laGoogle Cloud consola para abrir el panel de la barra lateral, que contiene más detalles. En ese panel, haz clic en el botón Rechazar.
Restaurar una recomendación rechazada
Para restaurar una recomendación que has rechazado, sigue las instrucciones que se indican en el artículo Restaurar una recomendación.