El artículo aborda la concepción errónea de que Kubernetes proporciona inherentemente alta disponibilidad. El programador de Kubernetes, de forma predeterminada, prioriza la asignación de recursos sobre la resistencia, lo que puede colocar todas las réplicas de pods en la misma zona de disponibilidad. Esto puede llevar a interrupciones del servicio si esa zona falla. Luego, el artículo describe varias herramientas para controlar la programación de pods y mejorar la resistencia. Estas incluyen `nodeSelector`, `nodeAffinity`, `podAntiAffinity`, `taints` y `tolerations`, y `TopologySpreadConstraints` para asegurar una distribución adecuada de pods en zonas y nodos. `nodeSelector` es simple pero limitado, mientras que `nodeAffinity` ofrece más flexibilidad con colocación preferida y requerida. `podAntiAffinity` evita que varias réplicas residan en el mismo nodo o zona. `taints` y `tolerations` se utilizan para reservar nodos específicos para cargas de trabajo particulares. `TopologySpreadConstraints` asegura una distribución uniforme en zonas. Finalmente, menciona `Topology Aware Routing` como tecnología experimental para optimizar el tráfico de red dentro de un clúster.
dev.to
Evita la trampa del Scheduling en Kubernetes: Por qué todos tus Pods pueden caer juntos (y cómo evitarlo)
Create attached notes ...
