连接超时; 连接 CoreDNS 服务器时无法访问服务器

Dol*_*hin 1 kubernetes

当我使用 dig 命令测试 CoreDNS 服务器时,它显示connection timed out; no servers could be reached

\n\n
[root@ops001 ~]# /opt/k8s/bin/kubectl exec -ti soa-user-service-5c8b744d6d-7p9hr -n dabai-fat /bin/sh\n/ # dig -t A kubernetes.default.svc.cluster.local. @10.254.0.2\n\n; <<>> DiG 9.12.4-P2 <<>> -t A kubernetes.default.svc.cluster.local. @10.254.0.2\n;; global options: +cmd\n;; connection timed out; no servers could be reached\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我 ping 服务器时,它成功了。

\n\n
[root@ops001 ~]# /opt/k8s/bin/kubectl exec -ti soa-user-service-5c8b744d6d-7p9hr -n dabai-fat /bin/sh\n/ # ping 10.254.0.2\nPING 10.254.0.2 (10.254.0.2): 56 data bytes\n64 bytes from 10.254.0.2: seq=0 ttl=64 time=0.100 ms\n64 bytes from 10.254.0.2: seq=1 ttl=64 time=0.071 ms\n64 bytes from 10.254.0.2: seq=2 ttl=64 time=0.094 ms\n64 bytes from 10.254.0.2: seq=3 ttl=64 time=0.087 ms\n
Run Code Online (Sandbox Code Playgroud)\n\n

为什么挖掘无法通过网络连接到 DNS 服务器?这是我的 CoreDNS 服务:

\n\n

在此输入图像描述

\n\n

当 azshara-k8s03\xe2\x80\x98s 节点连接到 CoreDNS 服务器时:

\n\n
/ # telnet 10.254.0.2 53\nConnection closed by foreign host\n
Run Code Online (Sandbox Code Playgroud)\n\n

当 azshara-k8s02\xe2\x80\x98s 和 azshara-k8s01\xe2\x80\x98s 节点连接到 CoreDNS 服务器时:

\n\n
/ # telnet 10.254.0.2 53\ntelnet: can\'t connect to remote host (10.254.0.2): Connection refused\n
Run Code Online (Sandbox Code Playgroud)\n\n

我只是困惑为什么端口 53 没有打开,当我使用相同的命令从主机扫描时,端口 53 是打开的:

\n\n

在此输入图像描述

\n

Dol*_*hin 5

我终于发现有些服务器的kube-proxy没有启动,并且路由转发规则没有刷新,使用这个命令启动kube-proxy解决这个问题:

systemctl start kube-proxy
Run Code Online (Sandbox Code Playgroud)