This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
обновление_кластера_kubernetes [2024/10/15 11:42] val [Освобождение места для работы longhorn] |
обновление_кластера_kubernetes [2025/01/06 16:16] (current) val [Шаг 4. Обновляем кластер kubernetes] |
||
|---|---|---|---|
| Line 17: | Line 17: | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| - | * ... | + | * [[https://rutube.ru/video/1b0cde4db02403e1e2a8a79cafda4131/]] |
| - | * Тэги: Kubernetes, | + | * Тэги: linux, кubernetes, cluster, kubespray, upgrade |
| ===== Методическая подготовка ===== | ===== Методическая подготовка ===== | ||
| Line 38: | Line 38: | ||
| <code> | <code> | ||
| - | gate1:~# curl https://keycloak.corp13.un/ | + | gate1:~# curl https://keycloak.corp13.un/ #-f |
| </code> | </code> | ||
| Line 49: | Line 49: | ||
| https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/token &>/dev/null && \ | https://keycloak.corp13.un/realms/corp13/protocol/openid-connect/token &>/dev/null && \ | ||
| echo "YES work `date`" || \ | echo "YES work `date`" || \ | ||
| - | echo "NOT work `date`"; \ | + | echo "NO work `date`"; \ |
| sleep 60; done | tee -a work.log | sleep 60; done | tee -a work.log | ||
| </code> | </code> | ||
| * Подключаемся к [[Система Kubernetes#longhorn]] | * Подключаемся к [[Система Kubernetes#longhorn]] | ||
| + | |||
| + | !!! В классе, если нет второго кластера, .kube/config заменять не нужно | ||
| <code> | <code> | ||
| $ cp .kube/config_kube .kube/config | $ cp .kube/config_kube .kube/config | ||
| Line 64: | Line 66: | ||
| <code> | <code> | ||
| server.corp13.un:~/kubespray# pandoc -t plain docs/recover-control-plane.md | less | server.corp13.un:~/kubespray# pandoc -t plain docs/recover-control-plane.md | less | ||
| + | в новых версиях: | ||
| + | server.corp13.un:~/kubespray# pandoc -t plain docs/operations/recover-control-plane.md | less | ||
| </code><code> | </code><code> | ||
| ... | ... | ||
| Line 71: | Line 75: | ||
| </code> | </code> | ||
| - | * Создаем новый kube3 (HW аналогично kubeN) и назначаем ему старый ip адрес (через установку mac и dhclient) | + | * Создаем новый kube3 (HW и !!!**ВЕРСИЯ ОС**!!! аналогично kubeN) и назначаем ему старый ip адрес (через установку mac и dhclient) |
| * Возвращаем kube3 в инвентарный файл выполняем предварительную настройку | * Возвращаем kube3 в инвентарный файл выполняем предварительную настройку | ||
| Line 87: | Line 91: | ||
| (venv1) server.corp13.un:~# ansible all -a 'sed -i"" -e "/swap/s/^/#/" /etc/fstab' -i /root/kubespray/inventory/mycluster/hosts.yaml --limit=kube3 | (venv1) server.corp13.un:~# ansible all -a 'sed -i"" -e "/swap/s/^/#/" /etc/fstab' -i /root/kubespray/inventory/mycluster/hosts.yaml --limit=kube3 | ||
| - | (venv1) server.corp13.un:~# ansible-playbook conf/ansible/roles/nodes.yml -i /root/kubespray/inventory/mycluster/hosts.yaml --limit=kube3 | + | (venv1) server.corp13.un:~# ansible-playbook conf/ansible/roles/nodes.yml -i /root/kubespray/inventory/mycluster/hosts.yaml -e "variable_host=all name_prefix=kube" --limit=kube3 |
| </code> | </code> | ||
| Line 149: | Line 153: | ||
| </code> | </code> | ||
| - | Методические замечания | + | Методические замечания **для преподавателя** при записи вебинара |
| - Выключить только что созданный kube3 | - Выключить только что созданный kube3 | ||
| Line 195: | Line 199: | ||
| <code> | <code> | ||
| ~/kubespray# pandoc -t plain docs/upgrades.md | less | ~/kubespray# pandoc -t plain docs/upgrades.md | less | ||
| + | |||
| + | ~/kubespray# pandoc -t plain docs/operations/upgrades.md | less | ||
| ... | ... | ||
| Multiple upgrades | Multiple upgrades | ||
| Line 201: | Line 207: | ||
| ~/kubespray# git describe --tags | ~/kubespray# git describe --tags | ||
| - | ~/kubespray# git tag | + | ~/kubespray# git tag | more |
| </code> | </code> | ||
| Line 259: | Line 265: | ||
| </code> | </code> | ||
| + | |||
| + | Методические замечания **для преподавателя** при записи вебинара | ||
| + | |||
| + | - Наблюдать работоспособность приложения в процессе обновления | ||
| + | - Параллельно, обновить систему на kube1 | ||
| + | - Завершить очную запись вебинара и остановить запись | ||
| + | - Дождаться завершения обновления, включить запись продемонстрировать результат обновления kubernetes и kube1 | ||
| + | - Опционально, остановить server,kube1,2,3,4 и восстановить их из снимка "final upgrade k8s" (можно остановить запись на время запуска приложения) | ||
| + | - Продемонстрировать полностью обновленный kubernetes и систему на узлах | ||
| ===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||
| Line 303: | Line 318: | ||
| kubeN# systemctl disable rsyslog.service; apt purge rsyslog -y; rm -v /var/log/syslog* /var/log/messages* | kubeN# systemctl disable rsyslog.service; apt purge rsyslog -y; rm -v /var/log/syslog* /var/log/messages* | ||
| - | |||
| - | kubeN# find /tmp -type f -size +10M | xargs rm | ||
| kubeN# apt purge perl -y && apt autoremove -y | kubeN# apt purge perl -y && apt autoremove -y | ||
| + | |||
| + | kubeN# find /tmp -type f -size +10M | xargs rm | ||
| </code> | </code> | ||
| ==== Выключение кластера kubernetes ==== | ==== Выключение кластера kubernetes ==== | ||