kubeadm upgrade — це зручна команда, яка приховує складну логіку оновлення
за однією командою та підтримує як планування оновлення, так і його фактичне виконання.
Кроки для виконання оновлення за допомогою kubeadm викладені в цьому документі. Для старіших версій kubeadm зверніться до старіших наборів документації на сайті Kubernetes.
Ви можете використовувати kubeadm upgrade diff, щоб переглянути зміни, які буде застосовано до маніфестів статичних Podʼів.
У Kubernetes v1.15.0 і пізніших версіях kubeadm upgrade apply та kubeadm upgrade node також
автоматично поновлюють сертифікати, якими керує kubeadm, на цьому вузлі, включно з тими, що зберігаються у файлах kubeconfig.
Щоб відмовитися від цього, можна передати прапорець --certificate-renewal=false. Докладніше про поновлення
сертифікатів дивіться в документації з керування сертифікатами.
kubeadm upgrade apply та kubeadm upgrade plan мають застарілий прапорець --config,
який дає змогу переналаштувати кластер під час планування або оновлення конкретного
вузла панелі управління. Зверніть увагу, що процес оновлення не розроблявся для такого сценарію, і є
повідомлення про неочікувані результати.Перевіряє, до яких версій можна оновитися, і перевіряє, чи можна оновити ваш поточний кластер. Ця команда може бути виконана лише на вузлах панелі управління, де існує файл kubeconfig "admin.conf". Щоб пропустити перевірку Інтернету, вкажіть необовʼязковий параметр [version].
kubeadm upgrade plan [version] [flags]
| --allow-experimental-upgrades | |
Показує нестабільні версії Kubernetes як альтернативу для оновлення і дозволяє оновлення до альфа/бета/кандидатів на випуск версій Kubernetes. |
|
| --allow-missing-template-keys Типово: true | |
Якщо true, ігнорувати будь-які помилки в шаблонах, коли поле або ключ map відсутні в шаблоні. Застосовується тільки до форматів виведення golang і jsonpath. |
|
| --allow-release-candidate-upgrades | |
Показує версії кандидатів на випуск Kubernetes як альтернативу для оновлення і дозволяє оновлювати до версій кандидатів на випуск Kubernetes. |
|
| --config string | |
Шлях до конфігураційного файлу kubeadm. |
|
| --etcd-upgrade Типово: true | |
Виконує оновлення etcd. |
|
| -h, --help | |
довідка для plan |
|
| --ignore-preflight-errors strings | |
Список перевірок, помилки яких будуть показані як попередження. Приклад: 'IsPrivilegedUser,Swap'. Значення 'all' ігнорує помилки всіх перевірок. |
|
| --kubeconfig string Типово: "/etc/kubernetes/admin.conf" | |
Файл kubeconfig, який використовується для спілкування з кластером. Якщо прапорець не встановлено, може бути переглянутий набір стандартних місць для пошуку наявного файлу kubeconfig. |
|
| -o, --output string Типово: "text" | |
Формат виводу. Один з: text|json|yaml|kyaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file. |
|
| --print-config | |
Вказує, чи потрібно надрукувати файл конфігурації, який буде використаний під час оновлення. |
|
| --show-managed-fields | |
Якщо true, залишати managedFields при виведенні обʼєктів у форматі JSON або YAML. |
|
| --rootfs string | |
Шлях до 'справжньої' кореневої файлової системи хоста. Це змусить kubeadm виконати chroot у вказаний шлях. |
|
Оновлює кластер Kubernetes до вказаної версії
Команда "apply [version]" виконує наступні фази:
preflight Run preflight checks before upgrade
control-plane Upgrade the control plane
upload-config Upload the kubeadm and kubelet configurations to ConfigMaps
/kubeadm Upload the kubeadm ClusterConfiguration to a ConfigMap
/kubelet Upload the kubelet configuration to a ConfigMap
kubelet-config Upgrade the kubelet configuration for this node
bootstrap-token Configures bootstrap token and cluster-info RBAC rules
addon Upgrade the default kubeadm addons
/coredns Upgrade the CoreDNS addon
/kube-proxy Upgrade the kube-proxy addon
post-upgrade Run post upgrade tasks
kubeadm upgrade apply [version]
| --allow-experimental-upgrades | |
Показує нестабільні версії Kubernetes як альтернативу для оновлення і дозволяє оновлення до альфа/бета/кандидатів на випуск версій Kubernetes. |
|
| --allow-release-candidate-upgrades | |
Показує версії кандидатів на випуск Kubernetes як альтернативу для оновлення і дозволяє оновлювати до версій кандидатів на випуск Kubernetes. |
|
| --certificate-renewal Типово: true | |
Виконує поновлення сертифікатів, що використовуються компонентами, які змінюються під час оновлень. |
|
| --config string | |
Шлях до конфігураційного файлу kubeadm. |
|
| --dry-run | |
Не змінювати жодного стану, лише вивести, які дії було б виконано. |
|
| --etcd-upgrade Типово: true | |
Виконує оновлення etcd. |
|
| -f, --force | |
Примусове оновлення, навіть якщо деякі вимоги можуть бути не виконані. Це також передбачає неінтерактивний режим. |
|
| -h, --help | |
довідка для apply |
|
| --ignore-preflight-errors strings | |
Список перевірок, помилки яких будуть показані як попередження. Приклад: 'IsPrivilegedUser,Swap'. Значення 'all' ігнорує помилки всіх перевірок. |
|
| --kubeconfig string Типово: "/etc/kubernetes/admin.conf" | |
Файл kubeconfig, який використовується для спілкування з кластером. Якщо прапорець не встановлено, може бути переглянутий набір стандартних місць для пошуку наявного файлу kubeconfig. |
|
| --patches string | |
Шлях до теки, що містить файли з іменами "target[suffix][+patchtype].extension". Наприклад, "kube-apiserver0+merge.yaml" або просто "etcd.json". "target" може бути одним з "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd", "kubeletconfiguration", "corednsdeployment", "kubeproxydaemonset". "patchtype" може бути одним з "strategic", "merge" або "json", і вони відповідають форматам патчів, що підтримуються kubectl. Типовим "patchtype" є "strategic". "extension" повинен бути або "json", або "yaml". "suffix" є необовʼязковим рядком, який можна використовувати для визначення, які патчі застосовуються першими за алфавітно-цифровим порядком. |
|
| --print-config | |
Вказує, чи потрібно надрукувати файл конфігурації, який буде використаний під час оновлення. |
|
| --skip-phases strings | |
Список фаз, які потрібно пропустити |
|
| -y, --yes | |
Виконати оновлення і не запитувати підтвердження (режим без взаємодії). |
|
| --rootfs string | |
Шлях до 'справжньої' кореневої файлової системи хоста. Це змусить kubeadm виконати chroot у вказаний шлях. |
|
Показує, які відмінності буде застосовано до наявних маніфестів статичних Podʼів. Дивіться також: kubeadm upgrade apply --dry-run
kubeadm upgrade diff [version] [flags]
| --config string | |
Шлях до конфігураційного файлу kubeadm. |
|
| -c, --context-lines int Типово: 3 | |
Скільки рядків контексту в diff |
|
| -h, --help | |
довідка для diff |
|
| --kubeconfig string Типово: "/etc/kubernetes/admin.conf" | |
Файл kubeconfig, який використовується для спілкування з кластером. Якщо прапорець не встановлено, може бути переглянутий набір стандартних місць для пошуку наявного файлу kubeconfig. |
|
| --rootfs string | |
Шлях до 'справжньої' кореневої файлової системи хоста. Це змусить kubeadm виконати chroot у вказаний шлях. |
|
Команди upgrade для вузла в кластері
Команда "node" виконує наступні фази:
preflight Run upgrade node pre-flight checks
control-plane Upgrade the control plane instance deployed on this node, if any
kubelet-config Upgrade the kubelet configuration for this node
addon Upgrade the default kubeadm addons
/coredns Upgrade the CoreDNS addon
/kube-proxy Upgrade the kube-proxy addon
post-upgrade Run post upgrade tasks
kubeadm upgrade node [flags]
| --certificate-renewal Типово: true | |
Виконує поновлення сертифікатів, що використовуються компонентами, які змінюються під час оновлень. |
|
| --config string | |
Шлях до конфігураційного файлу kubeadm. |
|
| --dry-run | |
Не змінювати жодного стану, лише вивести дії, які було б виконано. |
|
| --etcd-upgrade Типово: true | |
Виконує оновлення etcd. |
|
| -h, --help | |
довідка для node |
|
| --ignore-preflight-errors strings | |
Список перевірок, помилки яких будуть показані як попередження. Приклад: 'IsPrivilegedUser,Swap'. Значення 'all' ігнорує помилки всіх перевірок. |
|
| --kubeconfig string Типово: "/etc/kubernetes/admin.conf" | |
Файл kubeconfig, який використовується для спілкування з кластером. Якщо прапорець не встановлено, може бути переглянутий набір стандартних місць для пошуку наявного файлу kubeconfig. |
|
| --patches string | |
Шлях до теки, що містить файли з іменами "target[suffix][+patchtype].extension". Наприклад, "kube-apiserver0+merge.yaml" або просто "etcd.json". "target" може бути одним з "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd", "kubeletconfiguration", "corednsdeployment", "kubeproxydaemonset". "patchtype" може бути одним з "strategic", "merge" або "json", і вони відповідають форматам патчів, що підтримуються kubectl. Типовим "patchtype" є "strategic". "extension" повинен бути або "json", або "yaml". "suffix" є необовʼязковим рядком, який можна використовувати для визначення, які патчі застосовуються першими за алфавітно-цифровим порядком. |
|
| --skip-phases strings | |
Список фаз, які потрібно пропустити |
|
| --rootfs string | |
Шлях до 'справжньої' кореневої файлової системи хоста. Це змусить kubeadm виконати chroot у вказаний шлях. |
|
kubeadm upgrade