Visualiza estadísticas y recomendaciones sobre las bajas


En esta página, se muestra cómo ver las estadísticas y las recomendaciones sobre las bajas de Kubernetes para los clústeres de Google Kubernetes Engine (GKE). Para obtener más información sobre cómo gestionar las bajas de Kubernetes con GKE, consulta Bajas de GKE.

¿Qué son las recomendaciones y estadísticas de baja?

Cuando GKE detecta que un clúster usa una función o API de Kubernetes que se dio de baja y que se quitará en una próxima versión secundaria, sucederá lo siguiente:

Las estadísticas y las recomendaciones sobre las bajas están disponibles en el recomendador, un servicio que proporciona estadísticas y recomendaciones sobre el uso de recursos en Google Cloud. Para obtener más información sobre cómo funciona el recomendador con GKE, consulta Optimiza el uso de GKE con estadísticas y recomendaciones.

Para el tema de las bajas con el recomendador, ocurre lo siguiente:

  • Una estadística explica que el clúster usa una función o API que está obsoleta y que se quitará en una próxima versión secundaria.
  • Una recomendación proporciona orientación sobre qué hacer para mitigar la exposición de tu clúster a la baja.

Por ejemplo, una estadística puede explicar que tu clúster usa una API en etapa beta que es obsoleta y se quitará en la próxima versión secundaria. La recomendación explica que debes migrar tus cargas de trabajo de usar las APIs beta a usar las API v1. Cada recomendación incluye una referencia a una guía de migración para la API o la función obsoleta. Esta guía de migración también está disponible en la tabla correspondiente de las bajas de Kubernetes.

Cuando GKE genera un par de estadística y recomendación, abarca el uso de cualquier API o función de Kubernetes obsoleta en un subtipo de estadística en particular para un clúster en tu proyecto. Por ejemplo, si algún usuario-agente llama a cualquiera de las APIs abordadas por el subtipo DEPRECATION_K8S_1_22_V1BETA1_API, aparece una estadística y recomendación para recomendarte que migres este clúster del uso de estas APIs. Si otro clúster también usa estas API, GKE genera otra estadística y recomendación.

Uso de funciones y APIs de Kubernetes obsoletas que detecta GKE

Baja Eliminado en la versión de GKE Subtipo de estadística
Certificados TLS firmados con el algoritmo SHA-1 1.29 DEPRECATION_K8S_SHA_1_CERTIFICATE
APIs obsoletas de Kubernetes 1.29 1.29 DEPRECATION_K8S_1_29_API
APIs obsoletas de Kubernetes 1.27 1.27 DEPRECATION_K8S_1_27_API
APIs obsoletas de Kubernetes 1.26 1.26 DEPRECATION_K8S_1_26_API
APIs obsoletas de Kubernetes 1.25 1.25 DEPRECATION_K8S_1_25_API
PodSecurityPolicy 1.25 DEPRECATION_K8S_1_25_PODSECURITYPOLICY
Imágenes de nodos basadas en Docker 1.24 DEPRECATION_K8S_1_24_DOCKERSHIM
Campo de nombre común X.509 en los certificados de webhook 1.23 DEPRECATION_K8S_1_23_CERTIFICATE
APIs de Kubernetes 1.22 obsoletas,
APIs de Ingress de Kubernetes beta quitadas en GKE 1.23
1.22 y 1.23 DEPRECATION_K8S_1_22_V1BETA1_API

Recuerda que, para las bajas futuras, debes evaluar de forma independiente la exposición del entorno de tu clúster y mitigar los problemas.

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 gcloud components update para obtener la versión más reciente.

Roles obligatorios

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 de Google Cloud o con la API del recomendador.

Console

  1. Ve 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.

  3. Haz clic en la estadística para obtener más información. 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 ID del proyecto de Google Cloud 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 ID del proyecto de Google Cloud 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.

Ejemplo: estadística

Una estadística de baja incluye detalles sobre el tiempo y la cantidad de uso de una función o API obsoleta. La información que se incluye en la estadística depende de qué tipo de baja proporcione la información.

Esta es una estadística de ejemplo para el subtipo de estadística DEPRECATION_K8S_1_22_V1BETA1_API:

  name: projects/<PROJECT-NUMBER>/locations/us-central1/insightTypes/google.container.DiagnosisInsight/insights/<INSIGHT-ID>
  observationPeriod: 2592000s
  severity: HIGH
  category: RELIABILITY
  stateInfo:
    state: ACTIVE
  insightSubtype: DEPRECATION_K8S_1_22_V1BETA1_API
  description: Your API clients have used deprecated APIs in the last 30 days that are removed in Kubernetes v1.22. Upgrading your cluster before migrating to the updated APIs supported by v1.22 could cause it to break. [Learn more](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22).
  targetResources:
    - //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
  associatedRecommendations:
    - recommendation: projects/<PROJECT-NUMBER>/locations/us-central1/recommenders/google.container.DiagnosisRecommender/recommendations/<RECOMMENDATION-ID>
  etag: '"2147dd8e1e302ed7"'
  lastRefreshTime: "2022-01-30T08:00:00Z"
  content:
  targetClusters:
    - clusterId: <CLUSTER-ID>
      clusterUri: //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
  apiDeprecationInsight:
    - api: /apis/networking.k8s.io/v1beta1/Ingress
      stopServingVersion: 1.22
      deprecatedClientStats:
        userAgent: kubectl
        numberOfRequestsLast30Days: 288
        lastRequestTime: "2022-02-30T08:00:18Z"
    - api: /apis/rbac.authorization.k8s.io/v1beta1/ClusterRole
      stopServingVersion: 1.22
      deprecatedClientStats:
        userAgent: kubectl
        numberOfRequestsLast30Days: 126
        lastRequestTime: "2022-02-01T06:45:25Z"

Ejemplo: recomendación

Una recomendación de baja incluye una descripción de la baja con un vínculo a la guía de migración para la baja. También puedes encontrar estas guías de migración en la tabla de bajas de las funciones de GKE y en la tabla de bajas de la API de Kubernetes.

Esta es una recomendación de ejemplo para el subtipo de recomendación DEPRECATION_K8S_1_22_V1BETA1_API:

  name: projects/<PROJECT-NUMBER>/locations/us-central1/recommenders/google.container.DiagnosisRecommender/recommendations/<RECOMMENDATION-ID>
  description: Update manifests and API clients to use v1 API before upgrading to Kubernetes 1.22 by following the [instructions](https://cloud.google.com/kubernetes-engine/docs/deprecations/apis-1-22).
  primaryImpact:
    category: RELIABILITY
    reliabilityProjection:
      risks:
      - SERVICE_DISRUPTION
  priority: P2
  recommenderSubtype: DEPRECATION_K8S_1_22_V1BETA1_API
  stateInfo:
    state: ACTIVE
  targetResources:
    - //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
  associatedInsights:
    - insight: projects/<PROJECT-NUMBER>/locations/us-central1/insightTypes/google.container.DiagnosisInsight/insights/<INSIGHT-ID>
  etag: '"4dc0f7b33594072f"'
  lastRefreshTime: "2022-01-30T08:00:00Z"
  content:
    overview:
      targetClusters:
        - clusterId: <CLUSTER-ID>
          clusterUri: //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
      apiDeprecationRecommendation:
        - api: /apis/networking.k8s.io/v1beta1/Ingress
          apiReplacement: /apis/networking.k8s.io/v1/Ingress
          stopServingVersion: 1.22
        - api: /apis/rbac.authorization.k8s.io/v1beta1/ClusterRole
          apiReplacement: /apis/rbac.authorization.k8s.io/v1/ClusterRole
          stopServingVersion: 1.22

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 de baja

Si ya no quieres ver una recomendación de baja para un clúster en la consola de Google Cloud, descártala. Puedes hacer esto, por ejemplo, para descartar las recomendaciones que se aplican a los clústeres temporales y de corta duración.

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 un usuario-agente llama a la API o a una función obsoleta en este subtipo después de la eliminación.

Sin embargo, la recomendación permanece detectable con Google Cloud CLI y la API del recomendador.

Cuando descartas una recomendación, solo la ocultas para todos los usuarios. Las actualizaciones automáticas permanecen en pausa hasta que migres de la API o la función obsoleta, y GKE no detecte el uso de las APIs obsoletas durante 30 días consecutivos o hasta que la versión del clúster alcanza el final de la asistencia. Para obtener más información, consulta ¿Cuándo reanuda GKE las actualizaciones automáticas?

Descarta una recomendación

Si deseas descartar la recomendación, sigue las instrucciones para ver las estadísticas y recomendaciones en la consola de Google Cloud a fin de 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?

  • Para obtener más información sobre cómo funcionan las bajas con GKE, consulta Bajas de GKE.
  • Para obtener más información sobre la API de recomendador, consulta Usa la API: Recomendaciones.