Objetivos
Conoce algunas tareas básicas para configurar un clúster de etapa de pruebas y pruebas:Limita el acceso al servicio administrativo del clúster, que se denomina plano de control. Esto evita que los usuarios no autorizados vean o cambien la configuración del clúster y de la carga de trabajo.
Especifica que tu app necesita recursos de procesamiento que aumentan y reducen su escala verticalmente de forma eficiente para satisfacer la demanda.
Prueba el ajuste de escala automático, que replica automáticamente los Pods cuando la demanda aumenta más allá del umbral que especificas.
Ajusta la retención de registros para conservar solo los que necesitas.
Habilita el panel de postura de seguridad de GKE.
Estas son solo algunas de las tareas para promocionar un clúster desde el desarrollo hasta la etapa de pruebas. Lee la documentación de GKE para ver la lista completa de tareas que debes considerar.
Para seguir la guía paso a paso sobre esta tarea de forma directa en la consola de Google Cloud, haz clic en Guiarme:
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Antes de comenzar
Crea un clúster de Kubernetes y, luego, implementa una carga de trabajo. En Crea un clúster e implementa una carga de trabajo, se muestra cómo hacerlo.
Limita el acceso al plano de control
Para mejorar tu postura de seguridad, permite que solo una red autorizada, la consola de Google Cloud y Cloud Shell accedan al plano de control de tu clúster.
Configura una red autorizada
En la consola de Google Cloud, ve a la página de clústeres de GKE.
En la columna Nombre, haz clic en el nombre de tu clúster, hello-world-cluster.
En la fila
Redes autorizadas del plano de control de la tabla Herramientas de redes, haz clic en Editar.En el cuadro de diálogo Editar redes autorizadas del plano de control, selecciona Habilitar redes autorizadas del plano de control.
Selecciona Permitir acceso a través de las direcciones IP públicas de Google Cloud.
Esto te permite administrar el clúster desde la consola de Google Cloud y Cloud Shell
Haga clic en Agregar red autorizada.
Ingresa un nombre, como Mi red local de ejemplo.
En Red, ingresa el rango de direcciones IP a las que deseas otorgar acceso al plano de control de tu clúster. Usa la notación CIDR.
Por ejemplo, ingresa el siguiente rango:
198.51.100.0/24
Haz clic en Listo.
Haga clic en Guardar cambios.
Esta operación tardará unos minutos en completarse.
Haz clic en el botón
Notificaciones y espera hasta que veas una marca de verificación verde junto a Actualizar la configuración de redes autorizadas del plano de control en el clúster “hello-world-cluster” de Kubernetes Engine..
Configuraste un plano de control del clúster al que solo se puede acceder desde tu red autorizada y desde direcciones IP públicas de Google Cloud (lo que te permite administrar el clúster desde la consola de Google Cloud y Cloud Shell).
Para ver la dirección IP del plano de control de tu clúster y confirmar las direcciones de la red autorizada, haz clic en Siguiente.
Ver direcciones IP
Ir a la página de clústeres de GKE.
En la columna Nombre, haz clic en el nombre de tu clúster, hello-world-cluster.
En la tabla Conceptos básicos del clúster, la fila Extremo externo muestra la dirección IP del plano de control del clúster.
En la tabla Herramientas de redes, en la fila Redes autorizadas del plano de control, se muestran las direcciones IP de tu red autorizada.
Ahora solo se puede acceder al plano de control de tu clúster desde una red autorizada, la consola de Google Cloud Console y Cloud Shell.
Especifica una clase de procesamiento
De forma predeterminada, los Pods de Autopilot de GKE usan recursos de procesamiento optimizados para cargas de trabajo de uso general. Para las cargas de trabajo que necesitan escalar de manera óptima o que tienen otros requisitos únicos, puedes especificar una clase de procesamiento diferente.
Actualiza la especificación del objeto Deployment
En la consola de Google Cloud, ve a la página Cargas de trabajo de GKE.
En la columna Nombre, haz clic en el nombre de la app que implementaste, hello-world-app.
Haz clic en
Editar para editar la especificación del objeto Deployment.En la pestaña YAML, busca la línea que comienza con
containers:
.Justo encima de esta línea, agrega las siguientes líneas:
nodeSelector: cloud.google.com/compute-class: "Scale-Out"
Asegúrate de que tu archivo coincida con la sangría del siguiente ejemplo:
apiVersion: apps/v1 kind: Deployment ... spec: ... template: ... spec: nodeSelector: cloud.google.com/compute-class: "Scale-Out" containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Para descargar este archivo y usarlo como base para otras configuraciones de carga de trabajo, haz clic en
Descargar .Haz clic en Guardar.
Cualquier réplica de Pod que se cree para ejecutar la carga de trabajo usará la clase de procesamiento que especificaste.
Pruebe el ajuste de escala automático
Ahora que tienes una carga de trabajo que puede escalar de manera eficiente, actualiza la configuración del ajuste de escala automático para que tu carga de trabajo se escale verticalmente con mayor facilidad. Luego, genera la carga para activar el ajuste de escala automático.
Actualiza la configuración del ajuste de escala automático de Pods
Ve a la página Cargas de trabajo de GKE.
En la columna Nombre, haz clic en el nombre de tu Deployment, hello-world-app.
Haz clic en
Acciones .Selecciona Ajustar escala automáticamente y haz clic en Ajuste automático de escala horizontal de Pods.
En el diálogo Configurar Horizontal Pod Autoscaler, en Métricas de ajuste de escala automático, haz clic en CPU.
Cambia el valor de Destino a 2, lo que escala verticalmente tus Pods de manera automática cuando usan al menos el 2% de sus recursos de CPU configurados. Este valor objetivo bajo garantiza que puedas activar con facilidad el ajuste de escala automático en el siguiente paso.
Haz clic en Guardar.
Para activar el ajuste de escala automático, haz clic en Siguiente.
Genera una carga para activar el ajuste de escala automático
Haz clic en
Cloud Shell para abrirlo.Copia el siguiente comando en Cloud Shell:
for i in $(seq -s' ' 1 10000); do wget -q -O- <var>external-IP-address</var>; done
Reemplaza external-IP-address por la dirección IP que aparece en la columna
Extremos .Presiona Intro para ejecutar el comando y enviar 10,000 solicitudes a hello-world-app.
Espera a que el comando
wget
termine de ejecutarse y la línea de comandos vuelva a aparecer.Puedes cerrar Cloud Shell cuando finalice el comando
wget
.
Para ver cómo la carga de trabajo se escala para adaptarse al aumento de tráfico, haz clic en Siguiente.
Observa tu escala de carga de trabajo
En la página Detalles de la implementación de la carga de trabajo, busca un aumento repentino de uso de la CPU en el gráfico
CPU .Es posible que debas esperar hasta 5 minutos para ver el aumento repentino.
Haz clic en
Actualizar para asegurarte de que la página Detalles de la implementación muestre los datos más recientes.Consulta la tabla Pods administrados para ver que se están ejecutando tres réplicas de tu carga de trabajo.
Es posible que al principio veas errores sobre Pods no programables, pero estos mensajes son transitorios mientras se inician las réplicas.
Puedes esperar alrededor de 10 minutos, hacer clic en
Actualizar y ver que el uso de CPU disminuyó y, por lo tanto, la cantidad de Pods en Pods administrados vuelve a uno.
Probaste el ajuste de escala automático y miraste el escalamiento de tu carga de trabajo.
Ajusta la retención de registros
De forma predeterminada, Cloud Logging transfiere todos los registros desde tus clústeres de GKE. La transferencia de grandes cantidades de datos de registros puede generar una tarifa. Para asegurarte de que solo transfieras los datos de registros que necesitas para el entorno de etapa de pruebas, ajusta la retención de registros.
Crea un filtro de registros
-
En la consola de Google Cloud, ve a la página Explorador de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Ten en cuenta que el panel
Resultados de la consulta muestra los registros de todos los recursos del proyecto. Arriba de los resultados de la consulta, haz lo siguiente:
Haz clic en
Recurso .Busca el clúster de Kubernetes y haz clic en él.
Haz clic en us-central-1.
Haz clic en hello-world-cluster.
Haz clic en Aplicar.
Haz clic en
Gravedad y selecciona Información (que cambia a Información y mayor gravedad cuando se coloca el cursor sobre ella).Haga clic en
Ejecutar consulta .Ten en cuenta que los Resultados de la consulta ahora solo contienen mensajes INFO de tu clúster de etapa de pruebas.
Copia la consulta del editor de consultas. Pegarás esta consulta cuando crees un filtro para tu receptor de registros.
Para crear un receptor de registros y un bucket de almacenamiento, haz clic en Siguiente.
Crea un receptor de registros y un bucket de almacenamiento
Ve a la página Enrutador de registros de Logging.
Haz clic en
Crear receptor .En Nombre, ingresa el siguiente nombre:
hello-world-cluster-sink
Haz clic en Siguiente.
En Selecciona el servicio de receptor, selecciona Bucket de Logging.
En Selecciona un bucket de registros, selecciona Crear bucket de registros nuevo.
En Detalles del bucket, ingresa un nombre único, como el siguiente:
hello-world-bucket-<var>user-id</var>
Haz clic en Crear bucket.
En Destino del receptor, haz clic en Siguiente.
En Crear filtro de inclusión, pega la consulta que creaste en el Explorador de registros.
Haz clic en Crear un receptor.
Para ver los registros de tu clúster, que se almacenan en el bucket de registros que creaste, haz clic en Siguiente.
Consulta los registros de tu clúster
-
En la consola de Google Cloud, ve a la página Explorador de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Haz clic en
Define mejor el permiso .Selecciona Vista de registro.
Selecciona la vista _AllLogs para tu bucket de registro.
Haz clic en Aplicar.
Resultados de la consulta muestra solo los registros que están almacenados en tu bucket de registros.
Ajustaste la retención de registros para que el clúster de etapa de pruebas no almacene mensajes de depuración. Puedes configurar permisos para que solo ciertos usuarios puedan ver los registros en el bucket de tu clúster.
Habilita el panel de postura de seguridad
El panel de postura de seguridad analiza tus cargas de trabajo y clústeres de GKE para brindarte recomendaciones prácticas y bien definidas a fin de mejorar tu postura de seguridad.
Explora tus inquietudes
Ve a la página Postura de seguridad de GKE.
Si se te solicita que habilites la API de Container Security, haz clic en Habilitar.
En la pestaña Paneles, se resumen los problemas de los clústeres y las cargas de trabajo de tu proyecto.
Haz clic en la pestaña Problemas.
Si aparece alguna inquietud en la pestaña, haz clic en el problema para obtener más información.
Completaste algunas de las tareas básicas de configuración de un clúster para probar tu app y almacenarla en etapa intermedia.
¿Qué sigue?
Realiza una limpieza para evitar cargos de facturación Si planeas realizar instructivos adicionales, espera hasta terminarlos antes de realizar una limpieza. Puedes usar el clúster de Kubernetes de muestra en la mayoría de los instructivos de GKE.