Настройка MachineHealthCheck
Содержание
ОбзорПредварительные требованияНастройка MachineHealthCheck для MachineDeploymentНастройка MachineHealthCheck для узлов управляющей плоскостиСправкаОбзор
MachineHealthCheck — это ресурс в рамках Cluster API, который позволяет пользователям определить условия, при которых машины (Machines) в кластере считаются неисправными. MachineHealthCheck создаётся в управляющем кластере и применяется к конкретному рабочему кластеру.
При настройке MachineHealthCheck пользователи указывают таймаут для каждой из условий, которые проверяются на Node машины. Если какое-либо из этих условий сохраняется в течение указанного таймаута, машина будет подвергнута ремедиации. По умолчанию действие ремедиации машины должно запускать создание новой машины для замены неисправной, однако провайдеры могут интегрировать более сложные внешние решения для ремедиации.
MachineHealthCheck опирается на механизм rolling update в Cluster API. Во время rolling update все ранее подключённые диски удаляются и заменяются новыми дисками на вновь созданных машинах. Убедитесь, что никакой функционал кластера или рабочие нагрузки не зависят от данных, хранящихся на исходных дисках.
Предварительные требования
Перед настройкой MachineHealthCheck необходимо иметь рабочий управляющий кластер с развернутым как минимум одним MachineDeployment или KubeadmControlPlane.
Настройка MachineHealthCheck для MachineDeployment
Для настройки MachineHealthCheck для MachineDeployment нужно создать ресурс MachineHealthCheck в управляющем кластере.
Настройка MachineHealthCheck для узлов управляющей плоскости
Ограничения и риски для узлов управляющей плоскости
- Сбой лидера Etcd при простое kubelet: Автоматическая ремедиация может не сработать, если неисправный узел является текущим лидером etcd, а сервис
kubeletнедоступен. Cluster API пытается перенести лидерство etcd перед удалением узла, но для этого полагается наkubelet, который проксирует запросы к локальному экземпляру etcd. Еслиkubeletне отвечает, передача лидерства невозможна, что блокирует ротацию. - Риск потери кворума: Будьте осторожны при настройке MachineHealthCheck для узлов управляющей плоскости. Агрессивные таймауты или неправильная конфигурация могут привести к удалению нескольких узлов управляющей плоскости, что может нарушить кворум etcd и сделать управляющую плоскость кластера недоступной.