Документация находится в разработке, может содержать неполную информацию.
Добавление master-узла
Важно иметь нечетное количество master-узлов для обеспечения кворума.
Добавление master-узла в кластер ничем не отличается от добавления обычного узла. Проверьте существование NodeGroup c ролью control-plane (обычно это NodeGroup с именем master) и воспользуйтесь инструкцией по добавлению узла. Все необходимые действия по настройке компонентов control plane кластера на новом узле будут выполнены автоматически.
Перед добавлением следующего узла дождитесь статуса Ready
для всех master-узлов:
d8 k get no -l node-role.kubernetes.io/control-plane=
NAME STATUS ROLES AGE VERSION
master-0 Ready control-plane,master 276d v1.28.15
master-1 Ready control-plane,master 247d v1.28.15
master-2 Ready control-plane,master 247d v1.28.15
Удаление роли master-узла с сохранением узла в кластере
- Сделайте резервную копию etcd и директории
/etc/kubernetes
. - Скопируйте полученный архив за пределы кластера (например, на локальную машину).
- Убедитесь, что в кластере нет алертов, которые могут помешать обновлению master-узлов.
- Убедитесь, что очередь Deckhouse пуста.
- Снимите с узла метки
node.deckhouse.io/group: master
иnode-role.kubernetes.io/control-plane: ""
. -
Убедитесь, что узел пропал из списка узлов кластера etcd:
d8 k -n kube-system exec -ti $(d8 k -n kube-system get pod -l component=etcd,tier=control-plane -o name | head -n1) -- \ etcdctl --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/ca.crt --key /etc/kubernetes/pki/etcd/ca.key \ --endpoints https://127.0.0.1:2379/ member list -w table
-
Удалите настройки компонентов управляющего слоя на узле:
rm -f /etc/kubernetes/manifests/{etcd,kube-apiserver,kube-scheduler,kube-controller-manager}.yaml rm -f /etc/kubernetes/{scheduler,controller-manager}.conf rm -f /etc/kubernetes/authorization-webhook-config.yaml rm -f /etc/kubernetes/admin.conf /root/.kube/config rm -rf /etc/kubernetes/deckhouse rm -rf /etc/kubernetes/pki/{ca.key,apiserver*,etcd/,front-proxy*,sa.*} rm -rf /var/lib/etcd/member/
-
Убедитесь, что число узлов в NodeGroup
master
уменьшилосьЕсли было 3 узла, то должно стать 2:
d8 k get ng master NAME TYPE READY NODES UPTODATE INSTANCES DESIRED MIN MAX STANDBY STATUS AGE SYNCED master Static 2 2 2 280d True