Этап 4: Подготовка к добавлению нод¶
4.1. Создание join команд¶
На k8scontrolplane01:
# Создаем новый токен для worker нод
WORKER_JOIN=$(kubeadm token create --print-join-command)
# Загружаем сертификаты в Secret
CERT_KEY=$(sudo kubeadm init phase upload-certs --upload-certs 2>/dev/null | tail -1)
# Создаем join команду для control plane нод
echo "=== Control Plane Join Command ==="
echo "${WORKER_JOIN} --control-plane --certificate-key ${CERT_KEY}"
echo ""
echo "=== Worker Join Command ==="
echo "${WORKER_JOIN}"
ВАЖНО: Сохраните обе команды в отдельный файл для использования!
Пример вывода:
=== Control Plane Join Command ===
kubeadm join kube-api.orb.local:6443 --token abc123.xyz789 \
--discovery-token-ca-cert-hash sha256:xxx... \
--control-plane --certificate-key yyy...
=== Worker Join Command ===
kubeadm join kube-api.orb.local:6443 --token abc123.xyz789 \
--discovery-token-ca-cert-hash sha256:xxx...
4.2. Установка etcdctl (опционально, для диагностики)¶
На всех control plane нодах (k8scontrolplane01, k8scontrolplane02, k8scontrolplane03):
Зачем: etcdctl позволяет проверять здоровье etcd кластера, просматривать членов, делать backup.
# Скачиваем etcd v3.6.6 (соответствует версии в кластере)
ETCD_VER=v3.6.6
cd /tmp
curl -L https://github.com/etcd-io/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-arm64.tar.gz \
-o etcd-${ETCD_VER}-linux-arm64.tar.gz
# Распаковываем
tar xzvf etcd-${ETCD_VER}-linux-arm64.tar.gz
# Копируем только etcdctl
sudo cp etcd-${ETCD_VER}-linux-arm64/etcdctl /usr/local/bin/
# Чистим
rm -rf etcd-${ETCD_VER}-linux-arm64*
# Проверяем
etcdctl version