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

СТАН ФУНКЦІОНАЛУ: Kubernetes v1.18 [beta]

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

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

  • Запущений екземпляр Windows Server 2022 (або новіший) з адміністративним доступом.
  • Запущений кластер kubeadm, створений за допомогою kubeadm init та з дотриманням кроків з документа Створення кластера з kubeadm.

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

Виконайте наступні кроки для кожної машини:

  1. Відкрийте сесію PowerShell на машині.
  2. Переконайтеся, що ви є адміністратором або привілейованим користувачем.

Потім виконайте наведені нижче кроки.

Встановлення containerd

Щоб встановити containerd, спочатку виконайте наступну команду:

curl.exe -LO https://raw.githubusercontent.com/kubernetes-sigs/sig-windows-tools/master/hostprocess/Install-Containerd.ps1

Потім виконайте наступну команду, але спочатку замініть CONTAINERD_VERSION на нещодавній реліз з репозиторію containerd. Версія не повинна містити префікс v. Наприклад, використовуйте 1.7.22 замість v1.7.22:

.\Install-Containerd.ps1 -ContainerDVersion CONTAINERD_VERSION
  • Налаштуйте будь-які інші параметри для Install-Containerd.ps1, такі як netAdapterName, за необхідності.
  • Встановіть skipHypervisorSupportCheck, якщо ваша машина не підтримує Hyper-V і не може розміщувати контейнери ізольовані Hyper-V.
  • Якщо ви змінюєте необовʼязкові параметри CNIBinPath та/або CNIConfigPath у Install-Containerd.ps1, вам потрібно буде налаштувати встановлений втулок CNI Windows з відповідними значеннями.

Встановлення kubeadm і kubelet

Виконайте наступні команди для установки kubeadm і kubelet:

curl.exe -LO https://raw.githubusercontent.com/kubernetes-sigs/sig-windows-tools/master/hostprocess/PrepareNode.ps1
.\PrepareNode.ps1 -KubernetesVersion v1.31
  • Налаштуйте параметр KubernetesVersion у PrepareNode.ps1 за необхідності.

Запуск kubeadm join

Виконайте команду, з виводу kubeadm init. Наприклад:

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

Додаткова інформація про kubeadm join

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

# Виконайте це на вузлі панелі управління
sudo kubeadm token list

Вивід буде подібний до цього:

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 години. Якщо ви приєднуєте вузол до кластера після того, як токен закінчився, ви можете створити новий токен, виконавши наступну команду на вузлі панелі управління:

# Виконайте це на вузлі панелі управління
sudo kubeadm token create

Вивід буде подібний до цього:

5didvk.d09sbcov8ph2amjw

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

sudo cat /etc/kubernetes/pki/ca.crt | \
  openssl x509 -pubkey  | \
  openssl rsa -pubin -outform der 2>/dev/null | \
  openssl dgst -sha256 -hex | \
  sed 's/^.* //'

Вивід буде подібний до:

8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78

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

[preflight] Running pre-flight checks

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

Приєднання вузла завершено:
* Запит на підпис сертифіката надіслано до панелі управління та отримано відповідь.
* Kubelet поінформований про нові деталі захищеного з'єднання.

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

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

Налаштування мережі

Налаштування CNI в кластерах, що містять як Linux, так і вузли Windows, вимагає більше кроків, ніж просто запуск kubectl apply з файлом маніфесту. Крім того, втулок CNI, що працює на вузлах панелі управління, повинен бути підготовлений для підтримки втулка CNI, що працює на робочих вузлах Windows.

Зараз лише кілька втулків CNI підтримують Windows. Нижче наведені інструкції для їх налаштування:

Встановлення kubectl для Windows (необовʼязково)

Дивіться Встановлення та налаштування kubectl у Windows.

Що далі

Елементи на цій сторінці відносяться до сторонніх продуктів чи проєктів, які надають функціонал, необхідний для Kubernetes. Автори проєкту Kubernetes не несуть відповідальності за ці проєкти. Ознайомтесь з настановами на вебсайті CNCF для отримання докладної інформації.

Ознайомтесь з посібником з контенту перед тим, як пропонувати додавання посилання на стороні компоненти.

Змінено September 19, 2024 at 6:45 PM PST: upstream sync (5177b0dd6f)