kubernetes:обслуживание_кластера
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
kubernetes:обслуживание_кластера [2022/02/14 16:10] – root | kubernetes:обслуживание_кластера [2024/12/21 19:00] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Обслуживание кластера ====== | + | ====== |
===== Освобождение нод от нагрузки ===== | ===== Освобождение нод от нагрузки ===== | ||
Выгнать поды с ноды и запретить планирование новых подов: | Выгнать поды с ноды и запретить планирование новых подов: | ||
Строка 17: | Строка 17: | ||
<code bash> | <code bash> | ||
apt upgrade -y kubeadm=1.12.0-00 | apt upgrade -y kubeadm=1.12.0-00 | ||
+ | kubeadm upgrade plan | ||
kubeadm upgrade apply v1.12.0 | kubeadm upgrade apply v1.12.0 | ||
</ | </ | ||
2. Обновление kubelet на мастере | 2. Обновление kubelet на мастере | ||
<code bash> | <code bash> | ||
+ | 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 upgrade -y kubelet=1.12.0-00 | ||
+ | apt-mark hold kubelet kubectl | ||
+ | systemctl daemon-reload | ||
systemctl restart kubelet.service | systemctl restart kubelet.service | ||
</ | </ | ||
3. Обновление kubelet на worker нодах. | 3. Обновление kubelet на worker нодах. | ||
<code bash> | <code bash> | ||
- | kubectl drain node node-01 #on master | + | kubectl drain node node-01 |
</ | </ | ||
<code bash> | <code bash> | ||
- | apt upgrade | + | apt-mark unhold kubelet |
apt upgrade -y kubelet=1.12.0-00 | apt upgrade -y kubelet=1.12.0-00 | ||
- | kubeadm upgrade node config --kubelete-version v1.12.0 | + | apt-mark hold kubelet |
+ | kubeadm upgrade node config --kubelete-version v1.12.0 | ||
+ | systemctl daemon-reload | ||
systemctl restart kubelet.service | systemctl restart kubelet.service | ||
</ | </ | ||
<code bash> | <code bash> | ||
- | kubectl uncordon node-01 | + | kubectl uncordon node-01 |
+ | </ | ||
+ | ===== Резервное копирование ETCD ===== | ||
+ | Утилита для работы с базой etcd: etcdctl \\ | ||
+ | Перед началом работы необходимо указать версию API, через переменную окружения ETCDCTL_API | ||
+ | <code bash> | ||
+ | export ETCDCTL_API=3 | ||
+ | etcdctl version | ||
+ | </ | ||
+ | Снять снапшот с базы: | ||
+ | <code bash> | ||
+ | etcdctl \ | ||
+ | snapshot save snapshot.db \ | ||
+ | --endpoints=https:// | ||
+ | --cacert=/ | ||
+ | --cert=/ | ||
+ | --key=/ | ||
+ | </ | ||
+ | Восстановить снапшот базы: | ||
+ | <code bash> | ||
+ | systemctl stop kube-apiserver # or service kube-apiserver stop | ||
+ | etcdctl \ | ||
+ | snapshot restore snapshot.db \ | ||
+ | --data-dir / | ||
+ | --endpoints=https:// | ||
+ | --cacert=/ | ||
+ | --cert=/ | ||
+ | --key=/ | ||
+ | </ | ||
+ | Изменить в файле манифеста / | ||
+ | <code yaml> | ||
+ | volumes: | ||
+ | - hostPath: | ||
+ | path: / | ||
+ | type: DirectoryOrCreate | ||
+ | name: etcd-data | ||
+ | </ | ||
+ | <code bash> | ||
+ | systemctl restart etcd | ||
+ | systemctl start kube-apiserver | ||
</ | </ | ||
- | |||
kubernetes/обслуживание_кластера.1644844247.txt.gz · Последнее изменение: 2024/12/21 19:00 (внешнее изменение)