Додавання робочих вузлів Linux
Ця сторінка пояснює, як додати робочі вузли Linux до кластера, створеного за допомогою kubeadm.
Перш ніж ви розпочнете
- Кожен робочий вузол, що додається, має встановлені необхідні компоненти з Встановлення kubeadm, такі як kubeadm, kubelet і середовище виконання контейнерів.
- Запущений кластер kubeadm, створений за допомогою
kubeadm init
та дотриманням кроків з документа Створення кластера з kubeadm. - Необхідно мати права суперкористувача на вузлі.
Додавання робочих вузлів Linux
Щоб додати нові робочі вузли Linux до кластера, виконайте наступне для кожної машини:
- Підʼєднатесь до машини за допомогою SSH або іншого методу.
- Запустіть команду, яка була виведена
kubeadm init
. Наприклад:
sudo 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
... (вивід процесу приєднання) ...
Node join complete:
* Запит на підписання сертифікату надіслано до панелі управління, отримано відповідь.
* Kubelet проінформований про нові деталі безпечного зʼєднання.
Запустіть 'kubectl get nodes' на панелі управління, щоб побачити приєднання цього вузла.
Через кілька секунд ви повинні побачити цей вузол у виводі команди kubectl get nodes
. (наприклад, запустіть kubectl
на вузлі панелі управління).
Примітка:
Оскільки вузли кластера зазвичай ініціалізуються послідовно, ймовірно, що всі Podʼи CoreDNS працюватимуть на першому вузлі панелі управління. Для забезпечення високої доступності перерозподіліть Podʼи CoreDNS за допомогоюkubectl -n kube-system rollout restart deployment coredns
після приєднання хоча б одного нового вузла.Що далі
- Дізнайтеся, як додати робочі вузли Windows.