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:
- La actualización automática a la próxima versión secundaria se pausará. Para obtener más información sobre cómo esto funciona, consulta Qué sucede 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 baja.
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 las estadísticas y recomendaciones con uno de los siguientes roles:
Visualiza y actualiza el estado de las estadísticas y las recomendaciones (por ejemplo, descarta una recomendación):
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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud:
Revisa la columna Notificaciones para clústeres específicos a fin de encontrar estadísticas.
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
.
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 camponame
de la estadística.En el resultado, se incluyen detalles adicionales sobre el comportamiento que GKE detectó con tu clúster.
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 deassociatedRecommendations.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.
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 camponame
de la estadística.En el cuerpo de la respuesta, se incluyen detalles sobre el comportamiento que GKE detectó con tu clúster.
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 deassociatedRecommendations.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.