基于RPi 4的k3sup集群发生了一些错误。
直到昨天,我不得不重新安装主节点操作系统,一切都如愿。例如,我在主节点上安装了一个redis,然后在工作节点上安装了一些吊舱。我的豆荚不能通过DNS:redis-master.database.svc.cluster.local连接到redis (但它们是在前一天连接的)。
当我使用busybox进行测试时,它会引发一个无法解析域的错误,如:
kubectl run -it --rm --restart=Never busybox --image=busybox:1.28 -- nslookup redis-master.database.svc.cluster.local当我想用IP (也在busybox上)连接我的服务时:
kubectl run -it --rm --restart=Never busybox --image=busybox:1.28 -- ping 10.43.115.159结果表明,100%的数据包丢失。
我可以通过简单地替换coredns配置来解决DNS的问题(用forward . /etc/resolv.conf替换成forward . 192.168.1.101),但我不认为这是一个好的解决方案,因为我之前不需要这样做。
另外,它还解决了将域映射到IP的问题,但通过IP连接仍然不起作用。
我的节点:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
node-4 Ready <none> 10h v1.19.15+k3s2 192.168.1.105 <none> Debian GNU/Linux 10 (buster) 5.10.60-v8+ containerd://1.4.11-k3s1
node-3 Ready <none> 10h v1.19.15+k3s2 192.168.1.104 <none> Debian GNU/Linux 10 (buster) 5.10.60-v8+ containerd://1.4.11-k3s1
node-1 Ready <none> 10h v1.19.15+k3s2 192.168.1.102 <none> Debian GNU/Linux 10 (buster) 5.10.60-v8+ containerd://1.4.11-k3s1
node-0 Ready master 10h v1.19.15+k3s2 192.168.1.101 <none> Debian GNU/Linux 10 (buster) 5.10.63-v8+ containerd://1.4.11-k3s1
node-2 Ready <none> 10h v1.19.15+k3s2 192.168.1.103 <none> Debian GNU/Linux 10 (buster) 5.10.60-v8+ containerd://1.4.11-k3s1主节点有一个污点:role=master:NoSchedule。
有什么想法吗?
更新1
我能连接到红荚。/etc/ from来自redis-master-0
search database.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.43.0.10
options ndots:5对kubernetes的所有服务:
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 6d9h
kube-system traefik-prometheus ClusterIP 10.43.94.137 <none> 9100/TCP 6d8h
registry proxy-docker-registry ClusterIP 10.43.16.139 <none> 5000/TCP 6d8h
kube-system kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP,9153/TCP 6d9h
kube-system metrics-server ClusterIP 10.43.101.30 <none> 443/TCP 6d9h
database redis-headless ClusterIP None <none> 6379/TCP 5d19h
database redis-master ClusterIP 10.43.115.159 <none> 6379/TCP 5d19h
kube-system traefik LoadBalancer 10.43.221.89 192.168.1.102,192.168.1.103,192.168.1.104,192.168.1.105 80:30446/TCP,443:32443/TCP 6d8h发布于 2021-10-14 09:18:48
还有一件事没被提到。我在主节点上使用带有OpenVPN的NordVPN服务器列表,对工作节点使用privoxy。
在运行kubernetes主服务器之前安装和运行OpenVPN时,OpenVPN添加阻止kubernetes网络的规则。因此,代码不工作,你也无法通过IP到达任何吊舱。
我使用的是RPi 4集群,所以对我来说,只要重新安装主节点,首先安装kubernetes,然后配置openvpn就足够了。现在一切都如期而至。
可以通过在服务定义中添加After或Before来对系统单元进行排序。我有如下所示的VPN系统服务:
[Unit]
Description=Enable VPN for System
After=network.target
After=k3s.service
[Service]
Type=simple
ExecStart=/etc/openvpn/start-nordvpn-server.sh
[Install]
WantedBy=multi-user.target它保证VPN将在kubernetes之后运行。
https://stackoverflow.com/questions/69461150
复制相似问题