Ruta de aprendizaje: escalado de aplicaciones (consideraciones para la producción)


En este conjunto de tutoriales, se simplifican algunas de las consideraciones de planificación para que puedas centrarte en aprender las funciones y los servicios clave de Google Kubernetes Engine (GKE). Antes de empezar a crear tu propio entorno de Google Kubernetes Engine similar al que se describe en este conjunto de tutoriales, debes tener en cuenta algunos aspectos adicionales. Entre estos aspectos se incluyen el nivel de gestión de clústeres, las redes y los tipos de disponibilidad.

Redes

Los clústeres de GKE requieren una planificación cuidadosa de las direcciones IP. Las opciones de red que elijas influyen en la arquitectura de tus clústeres de GKE. Algunas de estas opciones no se pueden cambiar después de configurarlas sin volver a crear el clúster.

En este conjunto de tutoriales, se usan clústeres en el modo Autopilot que siempre usan la red en el modo nativo de VPC. Los clústeres nativos de VPC usan intervalos de direcciones IP con alias en los nodos de GKE y son necesarios para crear clústeres en VPCs compartidas. Los clústeres nativos de VPC se escalan más fácilmente que los clústeres basados en rutas sin consumir rutasGoogle Cloud , por lo que son menos propensos a alcanzar los límites de enrutamiento.

Antes de crear tu propio entorno de GKE e implementar cargas de trabajo, consulta las siguientes directrices de redes:

Modos de clúster

En este conjunto de tutoriales, crearás un clúster de GKE regional que utilice el modo Autopilot. Los clústeres Autopilot están preconfigurados con una configuración de clúster optimizada que está lista para las cargas de trabajo de producción. También puedes usar clústeres en modo Estándar para disfrutar de una mayor flexibilidad de configuración avanzada en la infraestructura subyacente.

Para obtener una visión general más completa, consulta los documentos de planificación que empiezan con las opciones de configuración de clústeres.

Espacios de nombres

Los espacios de nombres te permiten organizar tus aplicaciones y aislar componentes entre sí. Cada espacio de nombres tiene su propio conjunto de recursos, como pods, servicios y despliegues. Por ejemplo, puedes crear un espacio de nombres para todos tus servicios frontend y otro para tus servicios backend. Esta agrupación facilita la gestión de tus servicios y el control del acceso a ellos.

En este conjunto de tutoriales, desplegarás los pods y los servicios de la aplicación de ejemplo Cymbal Bank en un único espacio de nombres. Este enfoque reduce la complejidad de la implementación, pero no te permite usar espacios de nombres para asignar recursos a diferentes equipos y usuarios, como harías en un entorno de producción. Para ver un ejemplo más seguro y listo para producción de la aplicación de muestra Cymbal Bank que usa varios espacios de nombres, consulta la arquitectura de la aplicación Cymbal Bank.

Presupuestos de interrupción de pods

Las políticas de presupuesto de interrupción de pods (PDB) ayudan a asegurar el rendimiento de las aplicaciones, ya que evitan que los pods se inactiven al mismo tiempo cuando haces un cambio en el sistema y limitan el número de pods que no están disponibles simultáneamente en una aplicación replicada.

En este conjunto de tutoriales, no se configuran ni se usan PDBs. Cuando completes el tutorial para simular un fallo, todos tus servicios y nodos deberían responder como se espera. Cuando despliegues tus propias cargas de trabajo, los PDBs de los nodos podrían bloquear el drenaje de nodos.

Si usas PDBs, revisa tu configuración antes de intentar acordonar y drenar nodos. Si los nodos no se pueden drenar correctamente, es posible que tengas problemas con los eventos de mantenimiento programados.

Siguientes pasos

Para empezar, completa el primer tutorial para desplegar un solo clúster de GKE que ejecute una aplicación basada en microservicios.