Как обеспечить нулевой простой сервиса в Kubernetes во время деплоя и обновления нод?
Держите ≥3 реплики на зону и включите readinessProbe, делайте RollingUpdate с maxUnavailable: 0 и maxSurge: 1, задайте PDB с minAvailable и убедитесь, что HPA.minReplicas ≥ minAvailable. Для плавного отключения трафика используйте lifecycle.preStop и достаточно большой terminationGracePeriodSeconds. Размещайте поды по зонам через anti-affinity/topologySpreadConstraints. Ноды обновляйте через kubectl drain, чтобы эвикшены уважали PDB; для стейтфул-нагрузки — StatefulSet и кворум/репликацию на уровне хранилища.
Библиотека собеса по DevOps
Библиотека собеса по DevOps