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 servicio de Google Cloud que genera estadísticas y recomendaciones para usar recursos en Google Cloud. 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 consola de Google Cloud y también puedes encontrarla con Google Cloud CLI y la API de Recommender. 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 clústeres de GKE inactivos, clústeres de GKE con aprovisionamiento excesivo y cargas de trabajo con aprovisionamiento excesivo.
- Escalabilidad: Implementa prácticas de mejora de la confiabilidad, como el escalamiento vertical de clústeres de GKE con aprovisionamiento insuficiente 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 la presión de recursos del nodo 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: Garantiza la estabilidad del plano de control cuando se usan webhooks.
- Protección de datos: 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 detalles, consulta las secciones Actualizaciones automáticas al final de la compatibilidad y Política de desvío de versiones de GKE en la página de referencia.
- Permisos de la cuenta de servicio de nodo: Asegúrate de que las cuentas de servicio de nodo tengan los permisos esenciales que se requieren para las operaciones normales de GKE.
- CRD: Garantiza operaciones estables del clúster corrigiendo las CRD mal configuradas con un paquete de AC no válido.
- Uso de etcd: Asegúrate de que la base de datos de 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
- Para usar Google Cloud CLI en esta tarea,
instala y, luego,
inicializa la
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 consola deGoogle Cloud o con la API de Recommender.
Console
Cuando ves las recomendaciones en la consola, tienes dos opciones. Puedes usar el cuadro de evaluación de alto nivel que se encuentra 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 consola de Google Cloud .
Para ver la cantidad de clústeres afectados por las 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 consola de Google Cloud .
Revisa la columna Notificaciones para clústeres específicos con el objetivo de encontrar 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: Es 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=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: Es 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/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 consola deGoogle Cloud , 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 consola deGoogle Cloud 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 de tu clúster. Para excluir las recomendaciones que ya se descartaron, o que se aplicaron o fallaron, usa la marca
--filter:gcloud recommender recommendations list \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATION \ --filter="stateInfo.state=ACTIVE"Reemplaza lo siguiente:
RECOMMENDER_ID: Es el ID del recomendador.PROJECT_ID: Es el ID del proyecto de Google Cloud 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 (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: Es el ID de la recomendación que deseas descartar.
Toma nota del valor de
etagen el resultado (por ejemplo,"a770e444b0088a35").Marcar como descartada: Ejecuta el comando
mark-dismissed. La API de Recommender 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: Es el valoretagque se muestra con el comando describe.
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