# Додавання робочих вузлів Linux

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

---

<!-- overview -->

Ця сторінка пояснює, як додати робочі вузли Linux до кластера, створеного за допомогою kubeadm.

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

* Кожен робочий вузол, що додається, має встановлені необхідні компоненти з [Встановлення kubeadm](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/), такі як kubeadm, kubelet і <a class='glossary-tooltip' title='Середовище виконання контейнера — це програмне забезпечення, яке відповідає за запуск та виконання контейнерів.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/setup/production-environment/container-runtimes' target='_blank' aria-label='середовище виконання контейнерів'>середовище виконання контейнерів</a>.
* Запущений кластер kubeadm, створений за допомогою `kubeadm init` та дотриманням кроків з документа [Створення кластера з kubeadm](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/).
* Необхідно мати права суперкористувача на вузлі.

<!-- steps -->

## Додавання робочих вузлів Linux {#adding-linux-worker-nodes}

Щоб додати нові робочі вузли Linux до кластера, виконайте наступне для кожної машини:

1. Підʼєднатесь до машини за допомогою SSH або іншого методу.
2. Запустіть команду, яка була виведена `kubeadm init`. Наприклад:

  ```bash
  sudo kubeadm join \
    --token <token> <control-plane-host>:<control-plane-port> \
    --discovery-token-ca-cert-hash sha256:<hash>
  ```

### Додаткова інформація для kubeadm join {#additional-information-for-kubeadm-join}


<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4>Щоб вказати IPv6 адресу для <code>&lt;control-plane-host&gt;:&lt;control-plane-port&gt;</code>, адресу IPv6 потрібно взяти у квадратні дужки, наприклад: <code>[2001:db8::101]:2073</code>.</div>


Якщо у вас немає токена, ви можете отримати його, запустивши наступну команду на вузлі панелі управління:

```bash
# Запустіть це на вузлі панелі управління
sudo kubeadm token list
```

Вивід буде приблизно таким:

```console
TOKEN                    TTL  EXPIRES              USAGES           DESCRIPTION            EXTRA GROUPS
8ewj1p.9r9hcjoqgajrj4gi  23h  2018-06-12T02:51:28Z authentication,  The default bootstrap  system:
                                                   signing          token generated by     bootstrappers:
                                                                    'kubeadm init'.        kubeadm:
                                                                                           default-node-token
```

Стандартно токени для приєднання вузлів мають термін дії 24 години. Якщо ви додаєте вузол до кластера після того, як поточний токен закінчився, ви можете створити новий токен, виконавши наступну команду на вузлі панелі управління:

```bash
# Запустіть це на вузлі панелі управління
sudo kubeadm token create
```

Вивід буде приблизно таким:

```console
5didvk.d09sbcov8ph2amjw
```

Щоб вивести команду kubeadm join і одночасно створити новий токен, можна використати:

```bash
sudo kubeadm token create --print-join-command
```

Якщо у вас немає значення `--discovery-token-ca-cert-hash`, ви можете отримати його, виконавши наступні команди на вузлі панелі управління:

```bash
# Запустіть це на вузлі панелі управління
sudo cat /etc/kubernetes/pki/ca.crt | \
  openssl x509 -pubkey  | \
  openssl rsa -pubin -outform der 2>/dev/null | \
  openssl dgst -sha256 -hex | \
  sed 's/^.* //'
```

Вивід буде приблизно таким:

```console
8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78
```

Вивід команди `kubeadm join` має виглядати приблизно так:

```console
[preflight] Running pre-flight checks

... (вивід процесу приєднання) ...

Node join complete:
* Запит на підписання сертифікату надіслано до панелі управління, отримано відповідь.
* Kubelet проінформований про нові деталі безпечного зʼєднання.

Запустіть 'kubectl get nodes' на панелі управління, щоб побачити приєднання цього вузла.
```

Через кілька секунд ви повинні побачити цей вузол у виводі команди `kubectl get nodes`. (наприклад, запустіть `kubectl` на вузлі панелі управління).


<div class="alert alert-info" role="note"><h4 class="alert-heading">Примітка:</h4>Оскільки вузли кластера зазвичай ініціалізуються послідовно, ймовірно, що всі Podʼи CoreDNS працюватимуть на першому вузлі панелі управління. Для забезпечення високої доступності перерозподіліть Podʼи CoreDNS за допомогою <code>kubectl -n kube-system rollout restart deployment coredns</code> після приєднання хоча б одного нового вузла.</div>


## Що далі

* Дізнайтеся, як [додати робочі вузли Windows](/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes/).
