Как подружиться с k3s Cube-VIP?

Вопрос или проблема

Добрый день, я пытаюсь поднять кластер k3s, но столкнулся с проблемой, что не могу подключить kube-VIP к k3s. Изначально я настроил кластер с 1 мастером и 3 рабочими узлами, все работало, но когда я попытался подключить дополнительные мастера, ничего не вышло, я мучился пару дней, но так и не смог решить проблему. После этого я наткнулся на K3Sup, скрипт, который автоматизирует все, и подумал, что это может сработать. Я взял его и установил K3Sup на главный сервер, запустил скрипт с него, установил на один из мастеров k3s, следующим шагом была настройка kube-VIP, и затем начались проблемы. Команды, с помощью которых я установил kube-VIP, я выполнил на мастере:

kubectl apply -f https://kube-vip.io/manifests/rbac.yaml
ctr image pull docker.io/plndr/kube-vip:latest
alias kube-vip="ctr run --rm --net-host docker.io/plndr/kube-vip:latest vip /kube-vip"

После этого я создал демон (здесь я указал статический IP, но с динамическим тоже ничего не получилось):

kube-vip manifest daemonset \ --arp \ --interface eth0 \ --address 192.168.0.55 \ --controlplane \ -- leaderElection \ -- taint \ --inCluster | tee /var/lib/rancher/k3s/server/manifests/kube-vip.yaml

После этого я проверил его состояние, и оказалось, что он не готов к работе:

root@master-node-1:~/.kube# kubectl get ds -A
NAMESPACE     NAME                     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
kube-system   kube-vip-ds              1         1         0       1            0           <none>          22m
kube-system   svclb-traefik-62df3696   1         1         1       1            1           <none>          23m

И, конечно, адрес 192.168.0.55 не пингуется (адрес определенно статический и определенно не занят).

Ответ или решение

Добрый день!

Я понимаю, что у вас возникли трудности с настройкой kube-VIP в вашем кластере K3s. Давайте постараемся разобраться с вашими проблемами.

1. Проверка установки kube-VIP

Сначала убедитесь, что вы выполнили все этапы установки kube-VIP правильно. Вы упомянули, что выполнили команды для установки RBAC и скачали образ kube-VIP, что является правильным первым шагом. Проверьте, есть ли ошибка в процессе установки самого DaemonSet kube-VIP. Сделайте это, выполнив:

kubectl describe ds kube-vip-ds -n kube-system

Эта команда покажет вам подробную информацию о DaemonSet и возможные ошибки в его конфигурации.

2. Настройки DaemonSet

Убедитесь, что настройки DaemonSet kube-VIP корректны. Вот пример корректной команды для создания DaemonSet, которую следует использовать:

kube-vip manifest daemonset \
  --arp \
  --interface eth0 \
  --address 192.168.0.55 \
  --controlplane \
  --leaderElection \
  --taint \
  --inCluster | kubectl apply -f -

Обратите внимание на то, что в конце используется | kubectl apply -f -, это необходимо, чтобы отправить конфигурацию в Kubernetes. Убедитесь, что все параметры указаны верно.

3. Проверка конфигурации сети

Проблема с неподключенным адресом (192.168.0.55) может быть связана с настройками сети. Убедитесь, что:

  • IP-адрес 192.168.0.55 действительно доступен из вашей сети и не занят другими узлами.
  • Сетевой интерфейс eth0 корректен. Вы можете проверить доступные интерфейсы с помощью:
ip a

4. Проверка логов kube-VIP

Чтобы лучше понять, что не так с kube-VIP, проверьте логи подов:

kubectl logs -n kube-system <имя_пода_kube-vip>

Замените <имя_пода_kube-vip> на фактическое имя пода kube-VIP. Это может дать подсказки о том, почему под не готов к работе.

5. Убедитесь, что K3s установлен правильно

Иногда проблемы с кластером могут быть связаны с его базовой установкой. Проверьте статус всего кластера с помощью:

kubectl get nodes
kubectl get pods -A

Убедитесь, что все узлы и поды находятся в статусе Ready.

6. Дополнительные возможности отладки

Если после всех вышеуказанных шагов kube-VIP все еще не работает, рассмотрите возможность:

  • Перезапуска kube-VIP DaemonSet:
kubectl delete ds kube-vip-ds -n kube-system

Затем выполните команду для повторной установки DaemonSet.

  • Используйте более детализированный уровень логирования, если это поддерживается kube-VIP.

Надеюсь, эти шаги помогут вам решить проблему с kube-VIP в вашем K3s кластере. Если у вас остались вопросы или требуется дополнительная помощь, не стесняйтесь обращаться!

Оцените материал
Добавить комментарий

Капча загружается...