За последние 1 месяц мы столкнулись с 4 AUTO_REPAIR_NODES
событиями (показанными командой gcloud container operations list
) в нашем кластере GKE. Следствием автоматического восстановления узла является то, что узел воссоздается и получает новый внешний IP-адрес, а новый внешний IP-адрес, который не был добавлен в белый список сторонними службами, в конечном итоге вызывал сбой служб, работающих на этом новом узле.
Я заметил, что в нашем кластере Kubernetes у нас включено " Автоматическое восстановление узла ", и мне хотелось отключить это, но прежде чем я это сделаю, мне нужно больше узнать о ситуации.
Мои вопросы:
- Какие распространенные причины делают нездоровый узел в первую очередь? Мне известна эта статья https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair#node_repair_process, в которой говорится, что "узел сообщает о состоянии NotReady при последовательных проверках в течение заданного временного порога", что приведет к автоматическому восстановлению. Но что может заставить узел стать NotReady ?
- Мне также известна эта статья https://kubernetes.io/docs/concepts/architecture/nodes/#node-status, в которой упоминается полный список состояний узлов: {OutOfDisk, Ready, MemoryPressure, PIDPressure, DiskPressure, NetworkUnavailable, ConfigOK}. Интересно, если какой-либо из {OutOfDisk, MemoryPressure, PIDPressure, DiskPressure, NetworkUnavailable} станет истинным для узла, станет ли этот узел NotReady?
- Какие негативные последствия я могу получить после отключения «Автоматического восстановления узла» в кластере? Мне в основном интересно, можем ли мы в конечном итоге оказаться в худшем положении, чем автоматически ремонтируемые узлы и недавно присоединенный, но не в белый список, IP . Если «Автоматическое восстановление узла» отключено, то для модулей, работающих на нездоровом узле, который был бы автоматически восстановлен, Kubernetes будет создавать новые модули на других узлах?