Мой кластер kubernetes не работает после перезагрузки
После каждой перезагрузки мой кластер kubernetes не работает нормально, и я получаю
The connection to the server 192.168.1.4:6443 was refused - did you specify the right host or port?
У меня есть 4 Ubuntu на baremetal один из них является мастером и 3 работника, и я отключаю своп и отключаю его. и я где-то читал, я должен запустить эту команду два решить ее
sudo -i
swapoff -a
exit
strace -eopenat kubectl version
и это работа. Но почему это происходило?
3 ответа
Сначала, пожалуйста, бегите systemctl status kubelet
и проверьте, работает ли служба:
"Активен: активен (работает)"
Отключить своп:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
проверьте все ссылки, найденные в / etc / fstab, о swap.
Пожалуйста, также выполните шаги "kubeadm init" для текущего пользователя, как описано здесь: https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
После перезагрузки, пожалуйста, проверьте:systemctl status docker
включить докер при запуске, если он не работаетsystemctl enable docker
Вы также можете проверить статус kubelet:
systemctl status kubelet
systemctl enable kubelet
посмотрите на любые ошибки:
journalctl -u kubelet.service
journalctl
И, пожалуйста, поделитесь своими выводами.
Это зависит от того, как вы устанавливаете кластер.
В этом посте я упомяну о возможных способах решения этой проблемы.
Убедитесь, что своп выключен.
swapoff -a
Проверьте состояние Kubelet. В случае, если он вышел и не может работать должным образом, вы можете проверить его журнал.
journalctl -xfu kubelet.service
В моем случае журнал не был так полезен. Я пытался увидеть журнал других компонентов. После поиска и попытки найти подсказку я обнаружил, что есть ошибка с
cri-dockerd
service, потому что он может быть не включен в systemd.systemctl start cri-dockerd.service systemctl enable cri-dockerd.service
Наконец, перезапустите сервис kubelet и проверьте его статус:
systemctl restart kubelet.service systemctl status kubelet.service
Скорее всего, Кубеле не перезапускается. Вы должны проверить журналы Kubelet, чтобы исправить проблемы, если таковые имеются.
Убедитесь, что драйвер докера и драйвер, используемый kubelet, должны совпадать.
Своп должен быть отключен и тд