Configura un clúster y una carga de trabajo para la etapa de pruebas


Si bien los clústeres de GKE en modo Autopilot proporcionan valores predeterminados razonables para la mayoría de las opciones de configuración, es probable que necesites diferentes patrones de configuración en el desarrollo, la etapa de pruebas y los entornos de producción.

Objetivos

Conoce algunas tareas básicas para configurar un clúster de etapa de pruebas y pruebas:

  1. 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.

  2. Especifica que tu app necesita recursos de procesamiento que aumentan y reducen su escala verticalmente de forma eficiente para satisfacer la demanda.

  3. Prueba el ajuste de escala automático, que replica automáticamente los Pods cuando la demanda aumenta más allá del umbral que especificas.

  4. Ajusta la retención de registros para conservar solo los que necesitas.

  5. 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:

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. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

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

  1. En la consola de Google Cloud, ve a la página de clústeres de GKE.

    Ir a los clústeres

  2. En la columna Nombre, haz clic en el nombre de tu clúster, hello-world-cluster.

  3. En la fila Redes autorizadas del plano de control de la tabla Herramientas de redes, haz clic en Editar.

  4. En el cuadro de diálogo Editar redes autorizadas del plano de control, selecciona Habilitar redes autorizadas del plano de control.

  5. 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

  6. Haga clic en Agregar red autorizada.

  7. Ingresa un nombre, como Mi red local de ejemplo.

  8. 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
    
  9. Haz clic en Listo.

  10. Haga clic en Guardar cambios.

    Esta operación tardará unos minutos en completarse.

  11. 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

  1. Ir a la página de clústeres de GKE.

    Ir a los clústeres

  2. En la columna Nombre, haz clic en el nombre de tu clúster, hello-world-cluster.

  3. 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.

  4. 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

  1. En la consola de Google Cloud, ve a la página Cargas de trabajo de GKE.

    Ir a Cargas de trabajo

  2. En la columna Nombre, haz clic en el nombre de la app que implementaste, hello-world-app.

  3. Haz clic en Editar para editar la especificación del objeto Deployment.

  4. En la pestaña YAML, busca la línea que comienza con containers:.

  5. 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
    
  6. Para descargar este archivo y usarlo como base para otras configuraciones de carga de trabajo, haz clic en Descargar.

  7. 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

  1. Ve a la página Cargas de trabajo de GKE.

    Ir a Cargas de trabajo

  2. En la columna Nombre, haz clic en el nombre de tu Deployment, hello-world-app.

  3. Haz clic en Acciones.

  4. Selecciona Ajustar escala automáticamente y haz clic en Ajuste automático de escala horizontal de Pods.

  5. En el diálogo Configurar Horizontal Pod Autoscaler, en Métricas de ajuste de escala automático, haz clic en CPU.

  6. 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.

  7. 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

  1. Haz clic en Cloud Shell para abrirlo.

  2. 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.

  3. Presiona Intro para ejecutar el comando y enviar 10,000 solicitudes a hello-world-app.

  4. Espera a que el comando wget termine de ejecutarse y la línea de comandos vuelva a aparecer.

  5. 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

  1. 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.

  2. Haz clic en Actualizar para asegurarte de que la página Detalles de la implementación muestre los datos más recientes.

  3. 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.

  4. 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

  1. En el panel de navegación de la consola de Google Cloud, selecciona Logging y, luego, Explorador de registros:

    Ir al Explorador de registros

    Ten en cuenta que el panel Resultados de la consulta muestra los registros de todos los recursos del proyecto.

  2. Arriba de los resultados de la consulta, haz lo siguiente:

    1. Haz clic en Recurso.

    2. Busca el clúster de Kubernetes y haz clic en él.

    3. Haz clic en us-central-1.

    4. Haz clic en hello-world-cluster.

    5. Haz clic en Aplicar.

  3. Haz clic en Gravedad y selecciona Información (que cambia a Información y mayor gravedad cuando se coloca el cursor sobre ella).

  4. Haga clic en Ejecutar consulta.

  5. Ten en cuenta que los Resultados de la consulta ahora solo contienen mensajes INFO de tu clúster de etapa de pruebas.

  6. 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

  1. Ve a la página Enrutador de registros de Logging.

    Ir a Enrutador de registros

  2. Haz clic en Crear receptor.

  3. En Nombre, ingresa el siguiente nombre:

    hello-world-cluster-sink
    
  4. Haz clic en Siguiente.

  5. En Selecciona el servicio de receptor, selecciona Bucket de Logging.

  6. En Selecciona un bucket de registros, selecciona Crear bucket de registros nuevo.

  7. En Detalles del bucket, ingresa un nombre único, como el siguiente:

    hello-world-bucket-<var>user-id</var>
    
  8. Haz clic en Crear bucket.

  9. En Destino del receptor, haz clic en Siguiente.

  10. En Crear filtro de inclusión, pega la consulta que creaste en el Explorador de registros.

  11. Haz clic en Crear un receptor.

Para ver los registros en el bucket de tu clúster, haz clic en Siguiente.

Consulta los registros de tu clúster

  1. En el panel de navegación de la consola de Google Cloud, elige Logging y, luego, Explorador de registros:

    Ir al Explorador de registros

  2. Haz clic en Define mejor el permiso.

  3. Selecciona Alcance por almacenamiento.

  4. Selecciona /bucket-name.

  5. Haz clic en Aplicar.

    Resultados de la consulta muestra solo los registros que están almacenados en el bucket de tu clúster.

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

  1. Ve a la página Postura de seguridad de GKE.

    Ir a Postura de seguridad

  2. Si se te solicita que habilites la API de Container Security, haz clic en Habilitar.

  3. En la pestaña Paneles, se resumen los problemas de los clústeres y las cargas de trabajo de tu proyecto.

  4. Haz clic en la pestaña Problemas.

  5. 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?