En esta página, se recomiendan estrategias de cargas de trabajo de contenedores de Kubernetes que hacen que tu aplicación sea más tolerante a fallas en un universo de varias zonas aislado de Internet de Google Distributed Cloud (GDC). GDC admite aplicaciones en contenedores nativas de Kubernetes que se consumen y admiten ampliamente en Google Kubernetes Engine (GKE).
Esta página está dirigida a los desarrolladores que forman parte del grupo de operadores de aplicaciones y que son responsables de crear cargas de trabajo de aplicaciones para su organización. Para obtener más información, consulta Audiences for GDC air-gapped documentation.
Consideraciones de Kubernetes para apps de HA
Lograr la alta disponibilidad (HA) en Kubernetes va más allá del plano de control. También debes diseñar e implementar cargas de trabajo de contenedores en tu universo aislado de Google Distributed Cloud (GDC) de forma resiliente. Kubernetes ofrece varios mecanismos potentes para minimizar el tiempo de inactividad y proporcionar servicios de alta disponibilidad, incluso cuando se producen problemas de infraestructura o durante el mantenimiento de rutina. Los siguientes temas son estrategias clave que se deben tener en cuenta para la HA:
Mantén la disponibilidad con réplicas y el ajuste de escala automático: Debes tener suficientes instancias en ejecución de tu aplicación para proporcionar HA.
ReplicaSet
: Un recursoReplicaSet
mantiene un conjunto estable de réplicas de Pod idénticas que se ejecutan en cualquier momento. Si un Pod falla o se finaliza, el controlador deReplicaSet
crea automáticamente un Pod nuevo para reemplazarlo. Consulta la documentación de Kubernetes sobre ReplicaSet para obtener más información.Horizontal Pod Autoscaler (HPA): Si bien un
ReplicaSet
mantiene una cantidad fija de réplicas, el HPA ajusta automáticamente esta cantidad en función de las métricas observadas, como el uso de CPU o el uso de memoria. Esto permite que tu aplicación controle los picos de carga. Consulta la documentación de Kubernetes sobre el ajuste de escala automático horizontal de Pods para obtener más información.
Minimiza el tiempo de inactividad con
PodDisruptionBudget
(PDB): Consulta la Especificación de un presupuesto de interrupción para tu aplicación en la documentación de Kubernetes para obtener más información.Distribuye tu riesgo con reglas de antiafinidad: Consulta la documentación de Kubernetes sobre afinidad y antiafinidad para obtener más información.
Verificaciones de estado con sondeos de funcionamiento, preparación y de inicio: Consulta la documentación de Kubernetes Configura sondeos de funcionamiento, inicio y preparación para obtener más información.
Extremos estables y balanceo de cargas con servicios: Consulta la documentación de Servicios de Kubernetes para obtener más información.
Actualizaciones y reversiones correctas con implementaciones: Consulta la reversión de una implementación en la documentación de Kubernetes para obtener más información.
Establece solicitudes y límites para los recursos: Consulta la administración de recursos para Pods y contenedores en la documentación de Kubernetes para obtener más información.
¿Qué sigue?
- Comienza a aprender sobre Kubernetes
- Cargas de trabajo de contenedores en GDC
- Crea un clúster para ejecutar cargas de trabajo de contenedores