Додавання робочих вузлів Windows
Kubernetes v1.18 [beta]
Ця сторінка пояснює, як додати робочі вузли Windows до кластера kubeadm.
Перш ніж ви розпочнете
- Запущений екземпляр Windows Server 2022 (або новіший) з адміністративним доступом.
- Запущений кластер kubeadm, створений за допомогою
kubeadm init
та з дотриманням кроків з документа Створення кластера з kubeadm.
Додавання робочих вузлів Windows
Примітка:
Для полегшення додавання робочих вузлів Windows до кластера використовуються скрипти PowerShell з репозиторію https://sigs.k8s.io/sig-windows-tools.Виконайте наступні кроки для кожної машини:
- Відкрийте сесію PowerShell на машині.
- Переконайтеся, що ви є адміністратором або привілейованим користувачем.
Потім виконайте наведені нижче кроки.
Встановлення 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
Примітка:
Щоб вказати кортеж IPv6 для<control-plane-host>:<control-plane-port>
, IPv6-адреса повинна бути взята у квадратні дужки, наприклад: [2001:db8::101]:2073
.Якщо у вас немає токена, ви можете отримати його, виконавши наступну команду на вузлі панелі управління:
# Виконайте це на вузлі панелі управління
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.
Що далі
- Дивіться, як додати робочі вузли Linux.
Елементи на цій сторінці відносяться до сторонніх продуктів чи проєктів, які надають функціонал, необхідний для Kubernetes. Автори проєкту Kubernetes не несуть відповідальності за ці проєкти. Ознайомтесь з настановами на вебсайті CNCF для отримання докладної інформації.
Ознайомтесь з посібником з контенту перед тим, як пропонувати додавання посилання на стороні компоненти.