Это очень специфическая ошибка. Forbidden: User "kubernetes-admin" cannot get path "/livez" означает, что API-сервер уже работает, но он еще не "доверяет" администратору или не успел прописать права (RBAC) в базу данных.
Однако, судя по логам, все компоненты управления (etcd, scheduler, controller-manager) запущены. Мы можем "дожать" установку вручную, так как база данных кластера уже жива.
## Шаг 1: Настройка прав доступа (kubectl)
Давай попробуем зайти через новый супер-админский конфиг, который Kubernetes 1.35 генерирует автоматически:
mkdir -p $HOME/.kube
sudo cp -f /etc/kubernetes/super-admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# Проверяем ноды (напрямую через IP сервера)
kubectl get nodes --server=https://192.168.0.201:6443 --insecure-skip-tls-verify
------------------------------
## Шаг 2: Если "No resources found" или ошибка прав
Нам нужно заставить Kubernetes создать стандартные роли. Выполни команду:
sudo kubeadm init phase addon all --config /etc/kubernetes/kubeadm-config.yaml
------------------------------
## Шаг 3: Установка сетевого плагина Calico (Критично!)
Часто API-сервер ведет себя нестабильно (выдает Forbidden или Timeout), пока не установлена сеть. Давай установим её, используя права локального файла:
sudo KUBECONFIG=/etc/kubernetes/super-admin.conf kubectl apply -f https://githubusercontent.com
------------------------------
## Шаг 4: Как получить заветные команды JOIN
Поскольку init официально упал в конце, он не показал команды для других серверов. Давай вытащим их сейчас:
1. Создать токен и напечатать команду join:
kubeadm token create --print-join-command
2. Загрузить сертификаты и получить ключ (для srv2 и srv3):
sudo kubeadm init phase upload-certs --upload-certs --config /etc/kubernetes/kubeadm-config.yaml
Что делать, если ничего не помогает?
В Альте есть нюанс с nf_conntrack и ip_vs. Проверь, что они загружены (lsmod | grep ip_vs).
Давай попробуем выполнить Шаг 1 и Шаг 3. Если kubectl увидит ноду, значит кластер жив и можно подключать остальные!
Что выдала команда kubectl get nodes из Шага 1?