![Microk8s 集群 - Pod 无法访问名称服务器/CoreDNS Pod - 没有到主机的路由](https://linux22.com/image/792752/Microk8s%20%E9%9B%86%E7%BE%A4%20-%20Pod%20%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E5%90%8D%E7%A7%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%2FCoreDNS%20Pod%20-%20%E6%B2%A1%E6%9C%89%E5%88%B0%E4%B8%BB%E6%9C%BA%E7%9A%84%E8%B7%AF%E7%94%B1.png)
免责声明: 这是我在 ServerFault 中遇到的第一个问题,我完全是个新手。
我有以下设置:远程虚拟机,正在运行CentOS 7, 跑步MicroK8s(v1.28.3)。这是一个单节点集群因此,我已经从我的主节点上删除了污点,并且已经在其上部署了我的 pod。
启动时,我的一个 Pod(假设为“有问题的豆荚“)尝试联系另一个(我们称之为“目标吊舱“) 但似乎无法访问 CoreDNS pod。
尽管我称之为“有问题的豆荚“,我的任何一个 pod 都会发生同样的问题(已经测试过了),所以这不是一个特定于 pod 的问题。
我的 CoreDNS pod 的 ClusterIP 是默认的(10.152.183.10),我检查它已启动并正在运行,其日志中没有错误。
使用名为“debug-tools”的 busybox 进行测试,运行以下任何一项都会得到相同的结果,
kubectl exec -it debug-tools -- nslookup target-pod
kubectl exec -it debug-tools -- nslookup target-pod.default.svc.cluster.local
kubectl exec -it debug-tools -- nslookup kubernetes.default
即:
nslookup:写入‘10.152.183.10’:没有到主机的路由 ;;连接超时;无法访问服务器
我试过禁用防火墙(停止“防火墙“),并且一切正常。
因此我尝试添加一条规则:
firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.1.0.0/16" destination address="10.152.183.10" accept' --permanent
,
该规则已成功创建,但重新启用防火墙我的 pod 像以前一样无法到达 10.152.183.10。
我检查了我的 pod 的 ClusterIP 确实属于所述 CIDR。
我已经束手无策了,任何帮助都将不胜感激,我将提供您需要的任何和所有信息(如果我忘记提及一些重要的事情,很抱歉)。