Ver estadísticas y recomendaciones sobre las funciones obsoletas


En esta página se explica cómo ver estadísticas y recomendaciones sobre las obsolescencias de Kubernetes en tus clústeres de Google Kubernetes Engine (GKE). Para obtener más información sobre cómo gestionar las funciones obsoletas de Kubernetes con GKE, consulta Funciones y APIs obsoletas.

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

Cuando GKE detecta que un clúster está usando una función o una API de Kubernetes obsoleta que se eliminará en una próxima versión secundaria, ocurre lo siguiente:

Las estadísticas y recomendaciones sobre la retirada de funciones están disponibles en Recommender, un servicio que proporciona estadísticas y recomendaciones para usar recursos enGoogle Cloud. Para obtener más información sobre cómo funciona Recommender con GKE, consulta Optimizar el uso de GKE con estadísticas y recomendaciones.

Para el tema de las obsolescencias con Recommender:

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

Por ejemplo, una estadística puede explicar que tu clúster está usando una API beta obsoleta que se eliminará en la próxima versión secundaria. En la recomendación se explica que debes migrar tus cargas de trabajo de las APIs beta a las APIs de la versión 1. Cada recomendación incluye una referencia a una guía de migración de la función o API obsoleta. Esta guía de migración también está disponible en la tabla correspondiente de las obsolescencias de Kubernetes.

Cuando GKE genera un par de estadísticas y recomendaciones, abarca el uso de cualquier API o función de Kubernetes obsoleta en un subtipo de estadística concreto de un clúster de tu proyecto. Por ejemplo, si algún user-agent llama a alguna de las APIs a las que se dirige el subtipo DEPRECATION_K8S_1_22_V1BETA1_API, aparecerá una estadística y una recomendación para que migre este clúster de forma que deje de usar estas APIs. Si otro clúster también usa estas APIs, GKE genera otra estadística y recomendación.

Uso de funciones y APIs de Kubernetes obsoletas detectado por GKE

Desactivación Se ha quitado en la versión de GKE Subtipo de estadística
Funciones de containerd 1.7 1,33 DEPRECATION_CONTAINERD_V1_SCHEMA_IMAGES,
DEPRECATION_CONTAINERD_V1ALPHA2_CRI_API
APIs obsoletas de Kubernetes 1.32 1.32 DEPRECATION_K8S_1_32_API
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 Nombre común de X.509 en certificados de webhook 1.23 DEPRECATION_K8S_1_23_CERTIFICATE
APIs obsoletas de Kubernetes 1.22
APIs beta de Ingress de Kubernetes eliminadas en GKE 1.23
1.22 y 1.23 DEPRECATION_K8S_1_22_V1BETA1_API

Recuerda que, en el caso de las obsolescencias futuras, debes evaluar de forma independiente la exposición de tu entorno de clúster y solucionar los problemas que puedan surgir.

Antes de empezar

Antes de empezar, asegúrate de haber 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:

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:

  1. Ve a la página Google Kubernetes Engine en la Google Cloud consola:

    Ir a Google Kubernetes Engine

  2. 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.

  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 de cada clúster afectado, vuelva a hacer clic en la recomendación.

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

  1. Ve a la página Google Kubernetes Engine en la Google Cloud consola:

    Ir a Google Kubernetes Engine

  2. Consulta la columna Notificaciones de clústeres específicos para obtener estadísticas y recomendaciones.

  3. 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.

  1. 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 campo name de la estadística.

    El resultado incluye más detalles sobre el comportamiento que ha detectado GKE en tu clúster.

  2. 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, como DEPRECATION_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 de associatedRecommendations.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.

  1. 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 campo name de la estadística.

    El cuerpo de la respuesta incluye detalles sobre el comportamiento que ha detectado GKE en tu clúster.

  2. 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, como DEPRECATION_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 de associatedRecommendations.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.

Ejemplo: Estadísticas

Una estadística de obsolescencia incluye detalles sobre el momento y la cantidad de uso de una función o API obsoleta. La información incluida en la estadística depende del tipo de discontinuación sobre el que se proporcione información.

Este es un ejemplo de estadística del subtipo 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 obsolescencia incluye una descripción de la obsolescencia con un enlace a la guía de migración correspondiente. También puedes consultar estas guías de migración en la tabla de funciones de GKE retiradas y en la tabla de APIs de Kubernetes retiradas.

Este es un ejemplo de recomendación del subtipo DEPRECATION_K8S_1_22_V1BETA1_API de recomendación:

  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

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

Si no quieres ver más una recomendación de obsolescencia para un clúster en la consolaGoogle Cloud , desactívala. Por ejemplo, puedes hacerlo para rechazar recomendaciones que se apliquen a clústeres temporales o de corta duración.

Si rechazas la recomendación, no se mostrará a ningún usuario que vea el clúster en la consola. Después de rechazar la recomendación, no volverá a aparecer aunque un agente de usuario llame a la API o a la función obsoletas en este subtipo después de rechazarla.

Sin embargo, la recomendación sigue estando disponible con la CLI de Google Cloud y la API Recommender.

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

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.

Siguientes pasos