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 Cloud de Confiance by S3NS servicio que genera estadísticas y recomendaciones para usar recursos en Cloud de Confiance by S3NS. 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 Cloud de Confiance consola 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, los clústeres de GKE con aprovisionamiento excesivo y las cargas de trabajo con aprovisionamiento excesivo.
- Escalabilidad: Implementa prácticas de mejora de la confiabilidad, como el escalamiento vertical de clústeres de GKE y cargas de trabajo 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 de nodos 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:Ensure control plane stability when using webhooks.
- Protección dedatos: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 en el que se realice 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 asistencia y Política de sesgo de versiones 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 fundamentales que se requieren para las operaciones normales de GKE.
- CRDs: Asegúrate de que las operaciones del clúster sean estables corrigiendo las CRDs mal configuradas con un paquete de CA no válido.
- Uso de etcd: Asegúrate de que la base de datos 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 the
gcloud CLI. Si ya instalaste gcloud CLI, ejecuta el comando
gcloud components updatepara obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos de este documento.
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 Cloud de Confiance consola o con la API del recomendador.
Console
Cuando ves recomendaciones en la consola, tienes dos opciones. Puedes usar el cuadro de evaluación de alto nivel en la parte superior de la vista para ver los resultados agregados de las recomendaciones de estado, actualización y optimización de costos 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:
Accede a la página de Google Kubernetes Engine en la Cloud de Confiance consola de .
Para ver la cantidad de clústeres afectados por recomendaciones individuales, haz clic en Ver recomendaciones en la categoría que deseas 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.
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, vuelve a hacer clic en la recomendación.
Para ver las recomendaciones por clúster, sigue estos pasos:
Accede a la página de Google Kubernetes Engine en la Cloud de Confiance consola de .
Revisa la columna Notificaciones para clústeres específicos y encuentra estadísticas y recomendaciones.
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.
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 para el proyecto en el que se encuentran los clústeres. Cloud de Confiance by S3NSLOCATION: 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=FORMATReemplaza
INSIGHTpor el valor del ID de estadística, especificado al final de la URL del camponamede 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
SUBTYPEpor 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=FORMATReemplaza
RECOMMENDATION_IDpor el valor guardado deassociatedRecommendations.recommendationdel 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%20SUBTYPEReemplaza lo siguiente:
PROJECT_ID: El ID del proyecto para el proyecto en el que se encuentran los clústeres. Cloud de Confiance by S3NSLOCATION: 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/INSIGHTReemplaza
INSIGHTpor el valor del ID de estadística, especificado al final de la URL del camponamede 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%20SUBTYPEReemplaza
SUBTYPEpor 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_IDReemplaza
RECOMMENDATION_IDpor el valor guardado deassociatedRecommendations.recommendationdel 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 la Cloud de Confiance 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 Cloud de Confiance consola para abrir el panel de la barra lateral, que tiene más detalles. En ese panel, haz clic en el botón Descartar.
Descarta recomendaciones con Google Cloud CLI
Para descartar una recomendación con gcloud CLI, debes ubicar el "valor etag" de la recomendación activa y, luego, marcarla como descartada.
Enumera las recomendaciones activas: Para encontrar la recomendación que deseas descartar, enumera las recomendaciones activas para tu clúster. Para excluir recomendaciones que ya se descartaron o que tuvieron éxito o fallaron, usa la marca
--filtergcloud recommender recommendations list \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATION \ --filter="stateInfo.state=ACTIVE"Reemplaza lo siguiente:
RECOMMENDER_ID: El ID del recomendador.PROJECT_ID: El ID del proyecto para el proyecto en el que se encuentran los clústeres. Cloud de Confiance by S3NSLOCATION: Es la región o zona exacta del clúster. Para los clústeres zonales, debes proporcionar la zona exacta (comous-central1-c). Para los clústeres regionales, debes proporcionar la región exacta (comous-central1).
Recupera la etag: Busca el
RECOMMENDATION_IDdel resultado anterior y descríbelo para recuperar su estado actual yetag:gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATIONReemplaza lo siguiente:
RECOMMENDATION_ID: El ID de la recomendación que deseas descartar.
Ten en cuenta el
etagvalor en el resultado (por ejemplo,"a770e444b0088a35").Marca como descartado: Ejecuta el comando
mark-dismissed. La API del recomendador requiere laetagexacta para evitar condiciones de carrera.gcloud recommender recommendations mark-dismissed RECOMMENDATION_ID \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATION \ --etag='"ETAG_VALUE"'Reemplaza lo siguiente:
ETAG_VALUE: El valoretagque muestra el comando de descripción.
Restablece una recomendación descartada
Puedes restablecer una recomendación descartada si sigues las instrucciones para restablecer una recomendación.
¿Qué sigue?
- Más información sobre los recomendadores