Optimiza el uso de GKE con estadísticas y recomendaciones

Con Google Kubernetes Engine (GKE), puedes recibir orientación prescriptiva para optimizar tus clústeres.

GKE supervisa tus clústeres y, si hay posibles optimizaciones, se entrega orientación a través del recomendador, un Google Cloud servicio que genera estadísticas y recomendaciones para usar recursos en Google Cloud. Para GKE, los recomendadores entregan dos tipos de información:

  • Una estadística explica que GKE detectó que el uso de tu clúster se puede optimizar de alguna manera.
  • Una recomendación explica cómo optimizar el uso de tu clúster.

GKE entrega esta información en la consola de Google Cloud y también puedes encontrarla con Google Cloud CLI y la API del recomendador. GKE proporciona recomendadores para temas, incluidos los siguientes:

  • Bajas: Mitiga la exposición a las APIs o funciones obsoletas de Kubernetes.
  • Operaciones y conectividad: Soluciona los problemas relacionados con la conectividad del plano de control y los nodos, y el uso de direcciones IP.
  • Optimización de costos: Implementa prácticas y parámetros de configuración con optimización de costos. Por ejemplo, identifica los clústeres de GKE inactivos o los clústeres de GKE con exceso de aprovisionamiento.
  • Escalabilidad: Implementa prácticas para mejorar la confiabilidad, como escalar clústeres de GKE con aprovisionamiento insuficiente.
  • Solicitudes y límites de recursos: Establece solicitudes y límites de recursos para evitar la finalización abrupta de Pods bajo presión de recursos del nodo y mejorar la precisión de la asignación de costos.
  • Agones: Aísla el controlador de Agones en tu clúster.
  • Interrupciones: Garantiza la continuidad y capacidad de recuperación de las cargas de trabajo durante el mantenimiento.
  • Webhooks: Garantiza la estabilidad del plano de control cuando se usan webhooks.
  • Protección de datos: Garantiza que las cargas de trabajo estén protegidas contra eventos disruptivos.
  • Credenciales del clúster: Rota las credenciales del clúster para evitar interrupciones.
  • Canales de versiones: Inscribe clústeres en un canal de versiones.
  • Períodos de mantenimiento: Elige un período recurrente durante el cual se realiza el mantenimiento del clúster de GKE.
  • Versiones compatibles: Asegúrate de que los clústeres ejecuten una versión compatible que también cumpla con la política de sesgo de versiones de GKE. Para obtener más información, consulta las secciones Actualizaciones automáticas al final de la compatibilidad y Política de sesgo de versión de GKE en 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 esenciales que se requieren para las operaciones normales de GKE.
  • CRD: Garantiza operaciones estables del clúster corrigiendo las CRD mal configuradas con un paquete de CA no válido.
  • Uso de etcd: Asegúrate de que la base de datos de etcd tenga suficiente almacenamiento para evitar la inestabilidad del clúster.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta el comando gcloud components update para obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos que se describen en este documento.

Roles requeridos

Asegúrate de tener los permisos necesarios para las estadísticas y recomendaciones de Kubernetes, ya sea con los siguientes roles básicos o los roles predefinidos:

Visualiza estadísticas y recomendaciones

Puedes ver estadísticas y recomendaciones con Google Cloud CLI, en la consola deGoogle Cloud o con la API de Recommender.

Console

Cuando ves las recomendaciones en la consola, tienes dos opciones. Puedes usar el cuadro de evaluación de alto nivel que se encuentra en la parte superior de la vista para ver los resultados agregados de las recomendaciones de optimización de costos, actualización y estado en todos los clústeres de tu proyecto.

También puedes ver una lista de recomendaciones por clúster.

Para ver las recomendaciones con el cuadro de evaluación, sigue estos pasos:

  1. Accede a la página de Google Kubernetes Engine en la consola de Google Cloud .

    Ir a Google Kubernetes Engine

  2. Para ver la cantidad de clústeres afectados por las recomendaciones individuales, haz clic en Ver recomendaciones en la categoría que desees ver: Estado, Actualización o Costo. En el panel de la barra lateral que se revela, una lista de recomendaciones indica cuántos clústeres se ven afectados por cada recomendación.

  3. Para ver más información, incluidos los nombres de los clústeres afectados, haz clic en el nombre de la recomendación.

  4. Para ver más detalles sobre cada clúster afectado, vuelve a hacer clic en la recomendación.

Para ver las recomendaciones por clúster, sigue estos pasos:

  1. Accede a la página de Google Kubernetes Engine en la consola de Google Cloud .

    Ir a Google Kubernetes Engine

  2. Revisa la columna Notificaciones para clústeres específicos a fin de encontrar estadísticas y recomendaciones.

  3. Para obtener más información, haz clic en la estadística. En el panel de la barra lateral que se revela, puedes ver los detalles sobre esta estadística, incluida cualquier recomendación asociada.

gcloud

Una estadística suele tener una recomendación correspondiente. Las estadísticas se recuperan con gcloud recommender insights y las recomendaciones se recuperan con gcloud recommender recommendations.

  1. Visualiza la lista de estadísticas sobre los clústeres de una zona específica (para clústeres zonales) o una región específica (para clústeres regionales):

    gcloud recommender insights list \
        --insight-type=google.container.DiagnosisInsight \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT \
        --filter="insightSubtype:SUBTYPE"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El Google Cloud ID del proyecto para el proyecto en el que se encuentran los clústeres.
    • LOCATION: Es la región o zona exacta del clúster. Para los clústeres zonales, debes proporcionar la zona exacta (p. ej., us-central1-c). Para los clústeres regionales, debes proporcionar la región exacta (p. ej., 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. Esto limita el resultado a las estadísticas de un subtipo especificado. Esta marca es opcional.

    O bien, 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
    

    Reemplaza INSIGHT por el valor del ID de estadística, especificado al final de la URL del campo name de la estadística.

    En el resultado, se incluyen detalles adicionales sobre el comportamiento que GKE detectó con tu clúster.

  2. Visualiza la lista de estadísticas sobre los clústeres de una zona específica (para clústeres zonales) o una región específica (para clústeres regionales):

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT \
        --filter="recommenderSubtype:SUBTYPE"
    

    Reemplaza SUBTYPE por un subtipo de recomendador, por ejemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Esto limita el resultado a las recomendaciones de un subtipo especificado. Esta marca es opcional.

    O bien, si ya tienes un ID de recomendación, puedes ver la recomendación ejecutando el siguiente comando:

    gcloud recommender recommendations describe RECOMMENDATION_ID \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT
    

    Reemplaza RECOMMENDATION_ID por el valor guardado de associatedRecommendations.recommendation del resultado del comando en el paso 1.

    En el resultado, se proporciona orientación sobre qué acción quizás debas realizar para optimizar el uso de GKE de tu clúster.

API

Cada estadística tiene una recomendación correspondiente. Las estadísticas se recuperan con el recurso de REST: projects.locations.insightTypes.insights, y las recomendaciones se recuperan con el recurso de REST: projects.locations.recommenders.recommendations.

  1. Visualiza la lista de estadísticas sobre los clústeres de una zona específica (para clústeres zonales) o una región específica (para clústeres regionales):

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights?filter=insightSubtype%20%3D%20SUBTYPE
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El Google Cloud ID del proyecto para el proyecto en el que se encuentran los clústeres.
    • LOCATION: Es la región o zona exacta del clúster. Para los clústeres zonales, debes proporcionar la zona exacta (p. ej., us-central1-c). Para los clústeres regionales, debes proporcionar la región exacta (p. ej., us-central1).
    • SUBTYPE: un subtipo de estadística, por ejemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Esto limita el resultado a las estadísticas de un subtipo especificado. Esta marca es opcional.

    O bien, si ya tienes un ID de estadística, puedes ver los detalles de la estadística si realizas las siguiente solicitud:

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHT
    

    Reemplaza INSIGHT por el valor del ID de estadística, especificado al final de la URL del campo name de la estadística.

    En el cuerpo de la respuesta, se incluyen detalles sobre el comportamiento que GKE detectó con tu clúster.

  2. Visualiza la lista de estadísticas sobre los clústeres de una zona específica (para clústeres zonales) o una región específica (para clústeres regionales):

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPE
    

    Reemplaza SUBTYPE por un subtipo de recomendador, por ejemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Esto limita el resultado a las recomendaciones de un subtipo especificado. Esta marca es opcional.

    O bien, si ya tienes un ID de recomendación, puedes ver la recomendación si realizas la siguiente solicitud:

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_ID
    

    Reemplaza RECOMMENDATION_ID por el valor guardado de associatedRecommendations.recommendation del cuerpo de la respuesta del paso 1.

    En el cuerpo de la respuesta, se proporciona orientación sobre qué acción debes realizar para optimizar el uso de GKE de tu clúster.

Exporta estadísticas y recomendaciones a BigQuery

Puedes usar BigQuery a fin de exportar y analizar estadísticas y recomendaciones para toda tu organización. Para obtener más información, consulta Exporta recomendaciones a BigQuery.

Descarta o restablece recomendaciones

Si ya no quieres ver una recomendación para un clúster en laGoogle Cloud consola, descártala. Puedes hacer esto, por ejemplo, si evaluaste la recomendación y decidiste no implementarla.

Si descartas la recomendación, no aparecerá para ningún usuario que esté viendo el clúster en la consola. Después de descartar la recomendación, no volverá a aparecer incluso si GKE detecta el mismo comportamiento.

Cuando descartas una recomendación, solo la ocultas para todos los usuarios en la consola. La recomendación permanece detectable con Google Cloud CLI y la API del recomendador.

Descarta una recomendación

Si deseas descartar la recomendación, sigue las instrucciones para ver las estadísticas y recomendaciones en la consola deGoogle Cloud para abrir el panel de la barra lateral, que tiene más detalles. En ese panel, haz clic en el botón Descartar.

Restablece una recomendación descartada

Puedes restablecer una recomendación descartada si sigues las instrucciones para restablecer una recomendación.

¿Qué sigue?