Перейти к содержанию

Этап 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