kubernetes:обслуживание_кластера
Содержание
19. Обслуживание кластера
Освобождение нод от нагрузки
Выгнать поды с ноды и запретить планирование новых подов:
kubectl drain node-1
Вернуть ноду в рабочее состояние:
kubectl uncordon node-1
Запретить планирование новых подов на ноду:
kubectl cordon node-2
Обновление кластера
- Поддерживаются последние 3 версии kubernetes.
- Компоненты kubernetes могут быть разных версий:
- kube-apiserver - X
- Control-manager и kube-scheduler - X-1
- kubelet и kube-proxy - X-2
1. Обновление kubeadm
apt upgrade -y kubeadm=1.12.0-00 kubeadm upgrade plan kubeadm upgrade apply v1.12.0
2. Обновление kubelet на мастере
kubectl drain node master-01 --ignore-daemonsets apt-mark unhold kubelet kubectl apt upgrade -y kubectl=1.12.0-00 apt upgrade -y kubelet=1.12.0-00 apt-mark hold kubelet kubectl systemctl daemon-reload systemctl restart kubelet.service
3. Обновление kubelet на worker нодах.
kubectl drain node node-01 --ignore-daemonsets#on master
apt-mark unhold kubelet apt upgrade -y kubelet=1.12.0-00 apt-mark hold kubelet kubeadm upgrade node config --kubelete-version v1.12.0 #on master systemctl daemon-reload systemctl restart kubelet.service
kubectl uncordon node-01 #on master
Резервное копирование ETCD
Утилита для работы с базой etcd: etcdctl
Перед началом работы необходимо указать версию API, через переменную окружения ETCDCTL_API
export ETCDCTL_API=3 etcdctl version
Снять снапшот с базы:
etcdctl \ snapshot save snapshot.db \ --endpoints=https://127.0.0.1:2379 \ --cacert=/etc/etcd/ca.crt \ --cert=/etc/etcd/etcd-server.crt \ --key=/etc/etcd/etcd-server.key
Восстановить снапшот базы:
systemctl stop kube-apiserver # or service kube-apiserver stop etcdctl \ snapshot restore snapshot.db \ --data-dir /var/lib/etcd-from-backup \ --endpoints=https://127.0.0.1:2379 \ --cacert=/etc/etcd/ca.crt \ --cert=/etc/etcd/etcd-server.crt \ --key=/etc/etcd/etcd-server.key
Изменить в файле манифеста /etc/kubernetes/manifests/etcd.yaml путь hostPath etcd-data на новый:
volumes: - hostPath: path: /var/lib/etcd-from-backup type: DirectoryOrCreate name: etcd-data
systemctl restart etcd systemctl start kube-apiserver
kubernetes/обслуживание_кластера.txt · Последнее изменение: 2024/12/21 19:00 — 127.0.0.1