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:
- Se ha pausado la actualización automática a la próxima versión secundaria. Para obtener más información sobre cómo funciona, consulte Qué ocurre cuando GKE pausa las actualizaciones automáticas.
- Se generan una estadística y una recomendación para que puedas evaluar y mitigar la exposición de tu clúster a la obsolescencia.
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:
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.
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
- Para obtener más información sobre cómo funcionan las discontinuaciones con GKE, consulta Discontinuaciones de funciones y APIs.
- Para obtener más información sobre la API Recommender, consulta Usar la API: recomendaciones.