【发布时间】:2020-01-21 10:03:15
【问题描述】:
我正在尝试使用两个 raspberry pi 4s 为 k3s 设置高可用性,但无法让第二个服务器链接到第一个。
感谢任何帮助使其正常工作。
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 -
服务在两个 rpi 上都运行没有错误,但第二个服务器没有显示为连接到第一个
编辑
必须使用一些变体才能使其与嵌入式数据库一起使用,这可以让第二/第三台服务器加入初始集群
(使用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
但是,Server 2 和 Server 3 上的 Pod 无法与连接到 Server 1 的 Pod 通信。
我已经为此提出了a separate issue,因为我最初认为这是一个不同的问题
【问题讨论】:
-
可能是法兰绒配置不适合您绑定的 eth0 吗?
标签: kubernetes high-availability k3s