Я пытаюсь настроить k3s с высокой доступностью, используя два Raspberry Pi 4S, но не могу заставить второй сервер связываться с первым.
Благодарен за любую помощь, чтобы заставить это работать .
Я пробовал как Embedded DB , так и External DB (mariadb)
Первый серверный узел настроен нормально, используя следующая команда:
#embedded db - server 1
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--log k3s.log --bind-address 192.168.X.XXX --write-kubeconfig-mode 644 --docker --cluster-init" sh -
#external db - server 1
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--log k3s.log --bind-address 192.168.X.XXX --write-kubeconfig-mode 644 --docker --cluster-init --datastore-endpoint mysql://username:password@tcp(192.168.X.Y:3307)/k3s" sh -
Получение токена с сервера 1 и добавление на сервер 2
#get token from server 1
pi@rpi4:~ $ sudo cat /var/lib/rancher/k3s/server/node-token
K10b598b7a839cb4d2351f77b7d7c18f12345678bd7f68603434248b4cdf1b333fd::server:4b7b5a1b8b05271298150f008e1b804e
#on server 2...
export K3S_TOKEN="K10b598b7a839cb4d2351f77b7d7c18f12345678bd7f68603434248b4cdf1b333fd::server:4b7b5a1b8b05271298150f008e1b804e"
Затем я пытаюсь подключить второй сервер к кластеру, используя:
#embedded db - server 2
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--log k3s.log --server https://192.168.X.X:6443 --write-kubeconfig-mode 644 --docker" sh -
#external db - server 2
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--log k3s.log --server https://192.168.X.X:6443 --write-kubeconfig-mode 644 --datastore-endpoint mysql://user:password@tcp(192.168.X.X:3307)/k3s --docker" sh -
Службы работают без ошибок на обоих rpis, но второй сервер не отображается как подключенный к первому
Edit
Пришлось использовать немного вариации чтобы заставить его работать со встроенной базой данных, это помогло подключить 2-й / 3-й сервер к начальному кластеру
(с установленными K3S_TOKEN
и K3S_URL
)
curl -fL https://get.k3s.io | INSTALL_K3S_EXEC="--log k3s.log --flannel-iface=eth0 --write-kubeconfig-mode 644 --no-deploy servicelb --docker" sh -s - server
однако модули на сервере 2 и сервере 3 не могут обмениваться данными с модулями, подключенными к серверу 1. * 1 032 *
Я уже поднял отдельную проблему для этого, поскольку я изначально думал, что это другая проблема