Инструменты пользователя

Инструменты сайта


kubernetes:обслуживание_кластера

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
kubernetes:обслуживание_кластера [2022/02/14 16:11] – [Обновление кластера] rootkubernetes:обслуживание_кластера [2024/12/21 19:00] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-====== Обслуживание кластера ======+====== 19. Обслуживание кластера ======
 ===== Освобождение нод от нагрузки ===== ===== Освобождение нод от нагрузки =====
 Выгнать поды с ноды и запретить планирование новых подов: Выгнать поды с ноды и запретить планирование новых подов:
Строка 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
 </code> </code>
 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
 </code> </code>
 3. Обновление kubelet на worker нодах. 3. Обновление kubelet на worker нодах.
 <code bash> <code bash>
-kubectl drain node node-01 #on master+kubectl drain node node-01 --ignore-daemonsets#on master
 </code> </code>
 <code bash> <code bash>
-apt upgrade -y kubeadm=1.12.0-00+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 #on master 
 +systemctl daemon-reload
 systemctl restart kubelet.service systemctl restart kubelet.service
 </code> </code>
Строка 37: Строка 45:
 kubectl uncordon node-01 #on master kubectl uncordon node-01 #on master
 </code> </code>
 +===== Резервное копирование ETCD ===== 
 +Утилита для работы с базой etcd: etcdctl \\  
 +Перед началом работы необходимо указать версию API, через переменную окружения ETCDCTL_API 
 +<code bash> 
 +export ETCDCTL_API=3 
 +etcdctl version 
 +</code> 
 +Снять снапшот с базы: 
 +<code bash> 
 +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 
 +</code> 
 +Восстановить снапшот базы: 
 +<code bash> 
 +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 
 +</code> 
 +Изменить в файле манифеста /etc/kubernetes/manifests/etcd.yaml путь hostPath etcd-data на новый: 
 +<code yaml> 
 +  volumes: 
 +  - hostPath: 
 +      path: /var/lib/etcd-from-backup 
 +      type: DirectoryOrCreate 
 +    name: etcd-data 
 +</code> 
 +<code bash> 
 +systemctl restart etcd 
 +systemctl start kube-apiserver 
 +</code>
  
kubernetes/обслуживание_кластера.1644844263.txt.gz · Последнее изменение: 2024/12/21 19:00 (внешнее изменение)