#kubernetes #kubectl #kubeadm #kubelet
#kubernetes #kubectl #kubeadm #kubelet
Вопрос:
Следуя этому руководству, я настроил рабочий узел для своего кластера. Однако после запуска join
команды и попытки kubectl get node
проверить, подключен ли узел, я столкнулся со следующей ошибкой
W0215 17:58:44.648813 3084402 loader.go:223] Config not found: /etc/kubernetes/admin.conf
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Проверка на наличие admin.conf
in /etc/kubernetes/
показывает, что он не существует. Я убедился, что $HOME/.kube/config
это тоже понятно. Почему команда join не создает файл admin.conf?
Ответ №1:
TLDR
- Запуск
join
с помощью sudo mv /etc/kubernetes/kubelet.conf /etc/kubernetes/admin.conf
После некоторых изменений я понял, что это была комбинация ошибки разрешений и правильного файла, сгенерированного с неправильным именем.
Вместо того, чтобы работать kubeadm join ...
голым, запуск с помощью sudo позволил команде создавать файлы, необходимые в /etc/kubernetes
sudo kubeadm join <MASTER_IP:PORT> --token <TOKEN> --discovery-token-ca-cert-hash <HASH>
Однако это не генерирует admin.conf
, а создает kubelet.conf
. Я не уверен, почему это происходит, и не смог найти никакой документации по этому поведению, однако запуск kubectl
со следующим параметром решил мою проблему
kubectl get nodes --kubeconfig /etc/kubernetes/kubelet.conf
Переименуйте kubelet.conf
в admin.conf
для вашего удобства на этом этапе.