# Оновлення кластера

LLMS index: [llms.txt](/llms.txt)

---

<!-- overview -->

Ця сторінка надає огляд кроків, які вам слід виконати для оновлення кластера Kubernetes.

Проєкт Kubernetes рекомендує оперативно оновлюватись до останніх випусків патчів, а також переконатися, що ви використовуєте підтримуваний мінорний випуск Kubernetes. Дотримання цих рекомендацій допоможе вам залишатися в безпеці.

Спосіб оновлення кластера залежить від того, як ви спочатку розгорнули його та від будь-яких наступних змін.

На високому рівні кроки, які ви виконуєте, такі:

- Оновити <a class='glossary-tooltip' title='Шар оркестрування контейнерів, який надає API та інтерфейси для виявлення, розгортання та управління життєвим циклом контейнерів.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/reference/glossary/?all=true#term-control-plane' target='_blank' aria-label='панель управління'>панель управління</a>
- Оновити вузли в вашому кластері
- Оновити клієнтів, такі як <a class='glossary-tooltip' title='Інструмент командного рядка для взаємодії з кластерами Kubernetes.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/reference/kubectl/' target='_blank' aria-label='kubectl'>kubectl</a>
- Відредагувати маніфести та інші ресурси на основі змін API, які супроводжують нову версію Kubernetes

## Перш ніж ви розпочнете

Вам потрібно мати кластер. Ця сторінка присвячена оновленню з Kubernetes
1.35 до Kubernetes 1.36. Якщо ваш кластер зараз працює на Kubernetes 1.35, тоді, будь ласка, перевірте документацію для версії Kubernetes, на яку ви плануєте оновити.


<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4><p>На вузлах Linux kubelet стандартно підтримує тільки cgroups v2. Для Kubernetes 1.36 опція конфігурації kubelet <code>FailCgroupV1</code> типово встановлена на <code>true</code>.</p>
<p>Щоб дізнатися більше, зверніться до <a href="/uk/docs/concepts/architecture/cgroups/#deprecation-of-cgroup-v1">документації про виведення з експлуатації Kubernetes cgroup v1</a>.</p>
</div>


## Підходи до оновлення {#upgrade-approaches}

### kubeadm {#upgrade-kubeadm}

Якщо ваш кластер був розгорнутий за допомогою інструменту `kubeadm`, дивіться [Оновлення кластерів kubeadm](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/) для докладної інформації щодо оновлення кластера.

Після того, як ви оновили кластер, не забудьте [встановити останню версію `kubectl`](/docs/tasks/tools/).

### Ручне розгортання {#manual-deployments}

<div class="alert alert-caution" role="note"><h4 class="alert-heading">Увага:</h4>Ці кроки не враховують сторонніх розширень, таких як мережеві втулки та втулки сховищ.</div>


Вам слід вручну оновити панель управління наступним чином:

- etcd (всі екземпляри)
- kube-apiserver (всі хости панелі управління)
- kube-controller-manager
- kube-scheduler
- контролер управління хмари, якщо ви використовуєте його

На цьому етапі вам слід [встановити останню версію `kubectl`](/docs/tasks/tools/).

Для кожного вузла в вашому кластері, [очистіть](/docs/tasks/administer-cluster/safely-drain-node/) цей вузол, а потім або замініть його новим вузлом, який використовує 1.36 kubelet, або оновіть kubelet на цьому вузлі та відновіть його Service.

<div class="alert alert-caution" role="note"><h4 class="alert-heading">Увага:</h4>Виснаження вузлів перед оновленням kubelet забезпечує повторний вхід Podʼів та перезапуск контейнерів, що може бути необхідно для розвʼязання деяких проблем безпеки або інших важливих помилок.</div>


### Інші розгортання {#upgrade-other}

Дивіться документацію для вашого інструменту розгортання кластера, щоб дізнатися рекомендовані кроки для підтримки.

## Завдання після оновлення {#post-upgrade-tasks}

### Перемикання версії API зберігання кластера {#switch-your-cluster-s-storage-api-version}

Обʼєкти, які серіалізуються в etcd для внутрішнього представлення кластера ресурсів Kubernetes, записуються за допомогою певної версії API.

Коли підтримуване API змінюється, ці обʼєкти можуть потребувати перезаписування в новому API. Невиконання цього призведе до того, що ресурси не можна буде декодувати або використовувати за допомогою сервера API Kubernetes.

Для кожного ураженого обʼєкта, отримайте його, використовуючи останню підтримувану версію API, а потім записуйте його також, використовуючи останню підтримувану версію API.

### Оновлення маніфестів {#update-manifests}

Оновлення до нової версії Kubernetes може надати нові API.

Ви можете використовувати команду `kubectl convert` для конвертації маніфестів між різними версіями API. Наприклад:

```shell
kubectl convert -f pod.yaml --output-version v1
```

Інструмент `kubectl` замінює вміст `pod.yaml` на маніфест, який встановлює `kind` на Pod (незмінно), але з оновленим `apiVersion`.

### Втулки пристроїв {#device-plugins}

Якщо ваш кластер використовує втулки пристроїв і вузол потребує оновлення до випуску Kubernetes з новішою версією API втулка пристроїв, втулки пристроїв повинні бути оновлені для підтримки обох версій перед оновленням вузла, щоб гарантувати, що виділення пристроїв продовжує успішно завершуватися під час оновлення.

Дивіться [Сумісність API](/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#api-compatibility) та [Версії API керуючого пристрою Kubelet](/docs/reference/node/device-plugin-api-versions/) для отримання додаткової інформації.
