Якщо у вас ще немає кластера, дивіться створення кластерів за допомогою kubeadm.
Завдання в цьому розділі призначені для тих, хто адмініструє наявний кластер:
Це багатосторінковий друкований вигляд цього розділу. Натисність щоб друкувати.
Якщо у вас ще немає кластера, дивіться створення кластерів за допомогою kubeadm.
Завдання в цьому розділі призначені для тих, хто адмініструє наявний кластер:
Ця сторінка пояснює, як оновити робочі вузли Linux, створені за допомогою kubeadm.
Вам потрібен доступ до оболонки на всіх вузлах, а інструмент командного рядка kubectl має бути налаштований для звʼязку з вашим кластером. Рекомендується виконувати цей підручник у кластері, що має принаймні два вузли, які не є вузлами панелі управління.
Для перевірки версії введіть kubectl version.
Якщо ви використовуєте репозиторії пакунків, що належать спільноті (pkgs.k8s.io), вам потрібно увімкнути репозиторій пакунків для потрібного мінорного релізу Kubernetes. Це пояснено в документі Зміна репозиторію пакунків Kubernetes.
apt.kubernetes.io та yum.kubernetes.io) визнані
застарілими та заморожені станом на 13 вересня 2023.
Наполегливо рекомендується використання нових репозиторіїв пакунків, розміщених за адресою pkgs.k8s.io,
які є обовʼязковими для встановлення версій Kubernetes, випущених після 13 вересня 2023 року.
Застарілі репозиторії та їх вміст можуть бути видалені у будь-який момент у майбутньому без попереднього повідомлення.
Нові репозиторії пакунків надають можливість завантаження версій Kubernetes, починаючи з v1.24.0.Оновіть kubeadm та kubectl:
# замініть x у 1.37.x-* на останню версію патча
sudo apt-mark unhold kubeadm kubectl && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.37.x-*' kubectl='1.37.x-*' && \
sudo apt-mark hold kubeadm kubectl
Для систем з DNF4 (Fedora < 41, RHEL/CentOS < 10):
# замініть x у 1.37.x-* на останню версію патча
sudo dnf install -y kubeadm-'1.37.x-*' kubectl-'1.37.x-*' --disableexcludes=kubernetes
Для систем з DNF5:
# замініть x у 1.37.x-* на останню версію патча
sudo dnf install -y kubeadm-'1.37.x-*' kubectl-'1.37.x-*' --setopt=disable_excludes=kubernetes
Для робочих вузлів це оновлює локальну конфігурацію kubelet:
sudo kubeadm upgrade node
Підготуйте вузол до обслуговування, позначивши його як недоступний для планування та виселивши робочі навантаження:
# виконайте цю команду на вузлі панелі управління
# замініть <node-to-drain> імʼям вузла, для якого ви виконуєте drain
kubectl drain <node-to-drain> --ignore-daemonsets
Оновіть kubelet:
# замініть x у 1.37.x-* на останню версію патча
sudo apt-mark unhold kubelet && \
sudo apt-get update && sudo apt-get install -y kubelet='1.37.x-*' && \
sudo apt-mark hold kubelet
Для систем з DNF4 (Fedora < 41, RHEL/CentOS < 10):
# замініть x у 1.37.x-* на останню версію патча
sudo dnf install -y kubelet-'1.37.x-*' --disableexcludes=kubernetes
Для систем з DNF5:
# замініть x у 1.37.x-* на останню версію патча
sudo dnf install -y kubelet-'1.37.x-*' --setopt=disable_excludes=kubernetes
Перезапустіть kubelet:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
Поверніть вузол в роботу, позначивши його як придатний для планування:
# виконайте цю команду на вузлі панелі управління
# замініть <node-to-uncordon> імʼям вашого вузла
kubectl uncordon <node-to-uncordon>
Ця сторінка пояснює, як оновити вузол Windows, створений за допомогою kubeadm.
Вам потрібен доступ до оболонки на всіх вузлах, а інструмент командного рядка kubectl має бути налаштований для звʼязку з вашим кластером. Рекомендується виконувати цей підручник у кластері, що має принаймні два вузли, які не є вузлами панелі управління.
Версія вашого Kubernetes сервера має бути не старішою ніж 1.17.Для перевірки версії введіть kubectl version.
З вузла Windows оновіть kubeadm:
# замініть 1.37.0 на вашу бажану версію
curl.exe -Lo <path-to-kubeadm.exe> "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kubeadm.exe"
З машини з доступом до API Kubernetes підготуйте вузол до обслуговування, позначивши його як недоступний для планування та виселивши робочі навантаження:
# замініть <node-to-drain> імʼям вашого вузла, для якого ви виконуєте drain
kubectl drain <node-to-drain> --ignore-daemonsets
Ви повинні побачити подібний вивід:
node/ip-172-31-85-18 cordoned
node/ip-172-31-85-18 drained
З вузла Windows виконайте таку команду, щоб синхронізувати нову конфігурацію kubelet:
kubeadm upgrade node
З вузла Windows оновіть та перезапустіть kubelet:
stop-service kubelet
curl.exe -Lo <path-to-kubelet.exe> "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kubelet.exe"
restart-service kubelet
З вузла Windows оновіть та перезапустіть kube-proxy.
stop-service kube-proxy
curl.exe -Lo <path-to-kube-proxy.exe> "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kube-proxy.exe"
restart-service kube-proxy
З машини з доступом до API Kubernetes поверніть вузол в роботу, позначивши його як придатний для планування:
# замініть <node-to-drain> імʼям вашого вузла
kubectl uncordon <node-to-drain>