Мы испытали 4 AUTO_REPAIR_NODES
события (выявленные командой gcloud container operations list
) в нашем кластере GKE за последний месяц. Следствием автоматического восстановления узла является то, что узел воссоздается и получает новый внешний IP-адрес, а новый внешний IP-адрес, который не был внесен в белый список сторонними службами, в конечном итоге вызвал сбой служб, работающих на этом новом узле.
Я заметил, что у нас есть "Автоматический ремонт узла"включен в нашем кластере Kubernetes, и я почувствовал искушение отключить это, но прежде чем я это сделаю, мне нужно больше узнать о ситуации.
Мои вопросы:
По сути, мастер выполняет проверку работоспособности узла. если узел не может ответить или если узел объявляет себя NotReady, он будет отремонтирован с помощью авторемонта узла. На узлах GKE также есть детектор проблем с узлами, который может обнаруживать проблемы в ОС.
Любое из упомянутых условий может привести к переходу узла в NotReady. Есть и другие возможные факторы, такие как повторяющиеся ошибки на уровне ОС.
Отключение автоматического восстановления узлов может привести к тому, что узлы перейдут в состояние NotReady и останутся в таком состоянии. Хотя во многих случаях узел пытается решить проблему, убивая модули или процессы, возможно, что узел застревает в NotReady.
Вместо того, чтобы отключать автоматическое восстановление узлов, я бы порекомендовал изменить вашу настройку из-за требования о внесении в белый список. Вместо этого вы можете настроить шлюз NAT для всего исходящего трафика GKE; вы можете назначить статический IP-адрес для NAT и просто беспокоиться о добавлении этого IP-адреса в белый список. Вам больше не придется беспокоиться о том, что узлы меняют IP-адреса.