Objetivos
Descubre algunas tareas básicas para configurar un clúster de staging y pruebas:Limitar el acceso al servicio administrativo del clúster, denominado plano de control. De esta forma, se evita que los usuarios no autorizados vean o cambien la configuración de los clústeres y las cargas de trabajo.
Especifica que tu aplicación necesita recursos informáticos que se escalen de forma eficiente para satisfacer la demanda.
Prueba el autoescalado, que replica automáticamente los pods cuando la demanda supera un umbral que especifiques.
Ajusta la conservación de registros para que solo se conserven los que necesites.
Habilita el panel de control de la postura de seguridad de GKE.
Estas son solo algunas de las tareas para promover un clúster de desarrollo a producción. Consulta la documentación de GKE para ver la lista completa de tareas que debes tener en cuenta.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:
Costes
En este documento, se utilizan los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costes basada en el uso previsto,
utiliza la calculadora de precios.
Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.
Antes de empezar
Crea un clúster de Kubernetes y despliega una carga de trabajo. En Crear un clúster y desplegar una carga de trabajo se explica cómo hacerlo.
Limitar el acceso al plano de control
Para mejorar tu postura de seguridad, permite que solo una red autorizada, la consola y Cloud Shell accedan al plano de control de tu clúster.Google Cloud
Configurar una red autorizada
En la Google Cloud consola, ve a la página Clusters 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 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 el acceso a través de direcciones IP públicas de Google Cloud.
Esto te permite gestionar el clúster desde la consola de Google Cloud y Cloud Shell.
Haz clic en Añadir red autorizada.
Introduce un nombre, como Mi red local de ejemplo.
En Red, introduce el intervalo de direcciones IP al que quieras dar acceso al plano de control de tu clúster. Usa la notación CIDR.
Por ejemplo, introduce el siguiente intervalo:
198.51.100.0/24
Haz clic en Listo.
Haz clic en Guardar cambios.
Esta operación tarda 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 el ajuste de redes autorizadas del plano de control en el clúster de Kubernetes Engine "hello-world-cluster".
Has configurado un plano de control de clúster al que solo se puede acceder desde tu red autorizada y desde direcciones IP públicas (lo que te permite gestionar el clúster desde la consola de Google Cloud Google CloudGoogle 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
Ve a la página Clústeres de GKE.
En la columna Nombre, haz clic en el nombre de tu clúster, hello-world-cluster.
En la tabla Información básica de los clústeres, la fila Endpoint externo muestra la dirección IP del plano de control del clúster.
En la tabla Redes, la fila Redes autorizadas del plano de control muestra 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 deGoogle Cloud y Cloud Shell.
Especificar una clase de computación
De forma predeterminada, los pods de GKE Autopilot usan recursos de computación optimizados para cargas de trabajo de uso general. En el caso de las cargas de trabajo que necesiten escalarse de forma óptima o que tengan otros requisitos únicos, puedes especificar otra clase de computación.
Actualizar la especificación de Deployment
En la Google Cloud consola, ve a la página Cargas de trabajo de GKE.
En la columna Nombre, haz clic en el nombre de la aplicación que has implementado, hello-world-app.
Haga clic en
Editar para modificar la especificación de la implementación.En la pestaña YAML, busca la línea que empieza por
containers:
.Justo encima de esta línea, añade las siguientes líneas:
nodeSelector: cloud.google.com/compute-class: "Scale-Out"
Asegúrate de que el archivo tenga la misma sangría que en el 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.
Las réplicas de Pod que se creen para ejecutar tu carga de trabajo usarán la clase de computación que hayas especificado.
Probar el autoescalado
Ahora que tienes una carga de trabajo que se puede escalar de forma eficiente, actualiza la configuración del escalado automático para que tu carga de trabajo se escale más fácilmente. A continuación, genera carga para activar el autoescalado.
Actualizar la configuración del autoescalado de pods
Ve a la página Cargas de trabajo de GKE.
En la columna Name (Nombre), haz clic en el nombre de tu implementación, hello-world-app.
Haz clic en
Acciones .Selecciona Autoescalado y haz clic en Autoescalado horizontal de pods.
En el cuadro de diálogo Configurar el autoescalado de pods horizontal, en Métricas de autoescalado, haz clic en CPU.
Cambia el valor de Target a 2 para aumentar automáticamente la cantidad de pods cuando utilicen al menos el 2% de los recursos de CPU configurados. Este valor objetivo bajo asegura que puedas activar fácilmente el escalado automático en el siguiente paso.
Haz clic en Guardar.
Para activar el escalado automático, haz clic en Siguiente.
Generar carga para activar el autoescalado
Abre Cloud Shell haciendo clic en
Cloud Shell .Pega el siguiente comando en Cloud Shell:
for i in $(seq -s' ' 1 10000); do wget -q -O- <var>external-IP-address</var>; done
Sustituye external-IP-address por la dirección IP que aparece en la columna
Endpoints (Endpoints).Pulsa Intro para ejecutar el comando y enviar 10.000 solicitudes a hello-world-app.
Espera a que termine de ejecutarse el comando
wget
y a que vuelva a aparecer el prompt de la línea de comandos.Puedes cerrar Cloud Shell cuando termine el comando
wget
.
Para ver cómo se escala tu carga de trabajo para adaptarse al aumento del tráfico, haz clic en Siguiente.
Monitorizar la escalada de la carga de trabajo
En la página Detalles de la implementación de tu carga de trabajo, busca un pico en el uso de la CPU en el gráfico
CPU .Es posible que tengas que esperar hasta 5 minutos para ver el pico.
Haz clic en
Actualizar para asegurarte de que la página Detalles de la implementación muestra los datos más recientes.En la tabla Pods gestionados, verás que ahora se están ejecutando tres réplicas de tu carga de trabajo.
Al principio, es posible que veas errores sobre pods que no se pueden programar, pero estos mensajes son transitorios mientras se inician las réplicas.
Puedes esperar unos 10 minutos y hacer clic en
Actualizar. Verás que el uso de la CPU ha disminuido y, por lo tanto, el número de pods de Pods gestionados vuelve a ser uno.
Has probado el autoescalado y has visto cómo se escala tu carga de trabajo.
Ajustar la retención de registros
De forma predeterminada, Cloud Logging ingiere todos los registros de tus clústeres de GKE. Ingerir grandes cantidades de datos de registro puede conllevar una tarifa. Para asegurarte de que solo ingieres los datos de registro que necesitas para el entorno de pruebas, ajusta la conservación de registros.
Crear un filtro de registros
-
En la Google Cloud consola, ve a la página Explorador de registros:
Ve al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.
Ten en cuenta que el panel
Resultados de la consulta muestra los registros de todos los recursos de tu proyecto. Encima de los resultados de la consulta:
Haz clic en
Recurso .Busca 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 superior al colocar el cursor sobre ella).Haz clic en
Realizar una consulta .Ten en cuenta que Resultados de la consulta ahora solo contiene mensajes INFO de tu clúster de staging.
Copia la consulta del editor de consultas. Pegarás esta consulta cuando crees un filtro para tu receptor de registro.
Para crear un receptor de registro y un bucket de almacenamiento, haz clic en Siguiente.
Crear un sumidero de registros y un segmento de almacenamiento
Ve a la página Enrutador de registros de Logging.
Haz clic en
Crear sumidero .En Name (Nombre), introduce el siguiente nombre:
hello-world-cluster-sink
Haz clic en Siguiente.
En Seleccionar servicio de sumidero, selecciona Contenedor de registro.
En Seleccionar un segmento de registro, selecciona Crear segmento de registro.
En Detalles del segmento, introduce un nombre único, como:
hello-world-bucket-<var>user-id</var>
Haz clic en Crear segmento.
En Destino del receptor, haz clic en Siguiente.
En Crear filtro de inclusión, pega la consulta que has creado en el Explorador de registros.
Haz clic en Crear sumidero.
Para ver los registros de tu clúster, que se almacenan en el bucket de registro que has creado, haz clic en Siguiente.
Ver los registros de tu clúster
-
En la Google Cloud consola, ve a la página Explorador de registros:
Ve al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.
Haz clic en
Definir mejor el alcance .Selecciona Vista de registro.
Selecciona la vista _AllLogs de tu segmento de registro.
Haz clic en Aplicar.
Resultados de la consulta: solo se muestran los registros almacenados en tu segmento de registros.
Has ajustado la conservación de los registros para que tu clúster de staging no almacene mensajes de depuración. Puedes definir permisos para que solo determinados usuarios puedan ver los registros del bucket de tu clúster.
Habilitar el panel de control de la postura de seguridad
El panel de control de postura de seguridad analiza tus clústeres y cargas de trabajo de GKE para ofrecerte recomendaciones prácticas y basadas en opiniones que te ayuden a mejorar tu postura de seguridad.
Explorar cualquier duda
Ve a la página Postura de seguridad de GKE.
Si se te pide que habilites la API 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 Preocupaciones.
Si aparece alguna alerta en la pestaña, haz clic en ella para obtener más información.
Has completado algunas de las tareas básicas para configurar un clúster de staging y probar tu aplicación.
Siguientes pasos
Elimina los recursos que no utilices para evitar que se te cobre. Si tienes previsto hacer más tutoriales, espera a terminarlos antes de limpiar. Puedes usar el clúster de Kubernetes de muestra en la mayoría de los tutoriales de GKE.