Crea un clúster y una carga de trabajo de Google Kubernetes Engine (GKE) rentables y optimizados para la administración de recursos en una sola ubicación. En esta guía, se describen las siguientes plantillas que puedes usar para implementar una aplicación web básica:
Plantilla de clúster de GKE de una sola región: Crea la infraestructura fundamental necesaria para una aplicación de una sola región. Esta plantilla configura un clúster de GKE privado y seguro optimizado para la administración de recursos.
Carga de trabajo de GKE de una sola región (vista previa): Implementa un gráfico de Helm que incluye la configuración de una aplicación web básica. La carga de trabajo está configurada para escalar según la carga de la CPU y garantizar la disponibilidad de la aplicación durante las interrupciones voluntarias.
Por ejemplo, puedes implementar las plantillas de clúster y carga de trabajo para satisfacer las siguientes necesidades comerciales:
| Ejemplo | Necesidad empresarial | Implementación |
|---|---|---|
| Aplicación interna de línea de negocio | Una aplicación interna requiere una residencia de datos estricta en una región específica, rentabilidad para un uso interno predecible y alta confiabilidad. | Usa la implementación en una sola región para garantizar la localidad de los datos y el ajuste de escala automático para administrar los recursos de manera eficiente según la demanda de los usuarios internos. |
| Backend de comercio electrónico regional | Una plataforma de comercio electrónico necesita alta disponibilidad en una región específica para garantizar un servicio continuo, escalabilidad para manejar los picos de tráfico durante los eventos de ventas y seguridad sólida para las transacciones y los datos de los clientes. | Crear una configuración de clúster multizonal proporciona alta disponibilidad regional. Usa la configuración de arranque seguro para reforzar la postura de seguridad de los datos sensibles del cliente. |
| Plataforma regional de procesamiento y análisis de datos | Una plataforma para procesar y analizar grandes conjuntos de datos requiere localidad de los datos para el cumplimiento y el rendimiento, procesamiento optimizado para los costos para trabajos por lotes intermitentes y acceso seguro a los datos. | La implementación en una sola región garantiza que los datos permanezcan dentro de los límites geográficos. Además, permite ajustar los recursos para las tareas de procesamiento grandes y los períodos de inactividad. |
Arquitectura
En la siguiente imagen, se muestran los componentes y las conexiones de la plantilla:
A continuación, se describen los parámetros de configuración de los componentes en esta plantilla:
Clúster de GKE Estándar: Es un clúster rentable de una sola región en el que se ejecuta tu carga de trabajo.
En la siguiente tabla, se describe la configuración del clúster en esta plantilla:
Configuración Objetivo locationse establece comous-central1.Restringe los recursos del clúster a un área geográfica única, lo que garantiza la localidad de los datos y minimiza los costos y la latencia de la transferencia de datos entre regiones. initial_node_countse establece como1.Define un nodo inicial para crear en el grupo de nodos predeterminado del clúster cuando se aprovisiona por primera vez. En los clústeres regionales, esta es la cantidad de nodos por zona. release_channelse establece como{"channel":"REGULAR"}.Garantiza que tu clúster de GKE reciba actualizaciones estables y predecibles, lo que proporciona un equilibrio entre las funciones nuevas y la confiabilidad. enable_intranode_visibilityse establece comotrue.Habilita la visibilidad del tráfico dentro de los nodos en los registros de flujo de VPC, lo que se requiere para la supervisión de redes, la solución de problemas y el análisis de seguridad. control_plane_endpoints_configse establece como{"dns_endpoint_config":{"allow_external_traffic":true}}.El plano de control de GKE está configurado para que se pueda acceder a él de forma pública y, así, puedas administrar el clúster fuera de tu red de nube privada virtual (VPC). Grupo de nodos de GKE: Es un grupo de nodos trabajadores que ejecutan los contenedores de la aplicación.
En la siguiente tabla, se describen los parámetros de configuración del grupo de nodos en esta plantilla:
Configuración Objetivo locationse establece comous-central1.Especifica la región en la que se crea este grupo de nodos. Al igual que la ubicación del clúster, esto garantiza que los recursos del grupo de nodos se encuentren en una sola área geográfica. autoscalingse establece como{"max_node_count":3, "min_node_count":1}.Configura el escalador automático del clúster para este grupo de nodos. Garantiza que el grupo de nodos siempre mantenga al menos un nodo y establece el límite superior en tres nodos para controlar los costos y el consumo de recursos. node_configse establece como{"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}}.Agrupa las configuraciones de los nodos dentro de este grupo. El tipo de máquina ofrece un equilibrio entre la CPU y la memoria, lo que lo hace adecuado para cargas de trabajo de uso general. Define el acceso otorgado a la cuenta de servicio. Habilita el inicio seguro para las instancias de VM protegida, lo que ayuda a protegerlas contra el software malicioso a nivel de inicio.
Configuración del gráfico de Helm
En la siguiente tabla, se enumeran los parámetros de configuración del gráfico de Helm, que se personalizaron para implementar y escalar una aplicación web básica en GKE.
| Configuración | Objetivo |
|---|---|
replicaCount: 2 |
Crea dos réplicas iniciales para establecer un nivel inicial de redundancia. |
image.repository: gcr.io/google-samples/hello-app |
Usa una imagen de Docker de servidor web básica. |
resources.requests: {"cpu": "100m", "memory": "128Mi"} |
Especifica la cantidad mínima de CPU y memoria que se reservan para cada pod, lo que garantiza recursos disponibles y una programación eficiente. |
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} |
Activa el Horizontal Pod Autoscaler para ajustar automáticamente la cantidad de Pods entre 2 y 10 según el uso de CPU, lo que garantiza el rendimiento y la eficiencia en cuanto a costos. |
service: {"type": "ClusterIP", "port": 80} |
Configura el servicio para el acceso interno dentro del clúster en el puerto HTTP estándar. |
pdb: {"enabled": true, "minAvailable": 1} |
Permite que un presupuesto de interrupción de Pods garantice que al menos una réplica permanezca disponible durante las interrupciones voluntarias, lo que mantiene una alta disponibilidad. |
Crea tu aplicación web
Usa las plantillas Clúster y clúster de GKE de una sola región para implementar tu aplicación web.
Implementa tu infraestructura web
Configura e implementa la plantilla Clúster de GKE de una sola región para crear la infraestructura fundamental en la que se ejecuta tu carga de trabajo web.
Duplica e implementa la plantilla Clúster de GKE de una sola región como una aplicación.
Se crea un clúster de GKE en el proyecto de implementación que elijas.
Configura los componentes. Para obtener más información, consulta lo siguiente:
Haz clic en Implementar. La aplicación se implementará después de varios minutos.
En el panel Detalles de la aplicación, haz clic en la pestaña Salidas.
Identifica el cluster_id de tu aplicación. Usarás esta información cuando implementes tu gráfico de Helm.
Implementa tu carga de trabajo web
Usa la plantilla Carga de trabajo de GKE de una sola región para implementar tu carga de trabajo web en el clúster que creaste. Implementarás un gráfico de Helm que incluye la configuración de tu carga de trabajo web.
En la página Catálogo de Google, en la plantilla Carga de trabajo de GKE de una sola región, haz clic en Crear aplicación nueva.
En el campo Nombre, ingresa un nombre único para tu aplicación.
En el área GKE Deployment Target, haz lo siguiente:
En la lista de proyectos, selecciona el proyecto en el que implementaste el clúster de GKE desde tu aplicación de clúster de GKE de una sola región.
En la lista Región, selecciona la región en la que implementaste el clúster de GKE.
En la lista Clústeres, selecciona el clúster de GKE implementado.
En la lista Namespace, ingresa el espacio de nombres en el que implementaste tu clúster de GKE. Si no cambiaste el nombre, ingresa
default.Haz clic en Crear aplicación.
Se crea la aplicación y se muestran los archivos de configuración.
En el panel Helm chart, haz lo siguiente:
Revisa los detalles de la configuración.
Opcional: Personaliza la configuración para satisfacer tus necesidades específicas.
Para implementar el gráfico de Helm en tu clúster, haz clic en Implementar.
Para ver los pasos detallados, consulta Implementa aplicaciones.
Después de varios minutos, la configuración del gráfico de Helm se implementará en tu clúster de GKE.
¿Qué sigue?
- Duplica y personaliza esta plantilla aprovechando las plantillas de Google.
- Diseña plantillas de aplicaciones para definir tus propios parámetros de configuración.
- Identifica las prácticas recomendadas generales de arquitectura con el Google Cloud framework de arquitectura.