DNS在Kubernetes中无法正常工作

DNS在Kubernetes中无法正常工作,kubernetes,Kubernetes,我正在本地PC中部署statefulset(用于进行研究),请遵循以下步骤 在此步骤中: kubectl run -i --tty --image busybox:1.28 dns-test --restart=Never --rm nslookup web-0.nginx 我遇到这个错误: nslookup web-0.nginx Server: 10.96.0.10 Address 1: 10.96.0.10 nslookup: can't resolve 'web-0.ngi

我正在本地PC中部署statefulset(用于进行研究),请遵循以下步骤

在此步骤中:

kubectl run -i --tty --image busybox:1.28 dns-test --restart=Never --rm  
nslookup web-0.nginx
我遇到这个错误:

nslookup web-0.nginx
Server:    10.96.0.10
Address 1: 10.96.0.10

nslookup: can't resolve 'web-0.nginx'
我的pod和节点仍在正常工作,我的coredns也在正常运行

kube-system   coredns-fb8b8dccf-hbrhw           1/1     Running   0       26m
kube-system   coredns-fb8b8dccf-rmrwp           1/1     Running   0       26m


nguyen@kmaster:~/Documents$ kubectl get --all-namespaces=true -o wide pods
NAMESPACE     NAME                              READY   STATUS    RESTARTS   AGE   IP                NODE      NOMINATED NODE   READINESS GATES
default       busybox                           1/1     Running   1          65m   10.244.1.218      knode     <none>           <none>
default       web-0                             1/1     Running   0          75m   10.244.1.215      knode     <none>           <none>
default       web-1                             1/1     Running   0          75m   10.244.1.216      knode     <none>           <none>
kube-system   coredns-fb8b8dccf-hbrhw           1/1     Running   0          51m   10.244.1.219      knode     <none>           <none>
kube-system   coredns-fb8b8dccf-rmrwp           1/1     Running   0          51m   10.244.0.37       kmaster   <none>           <none>
kube-system   etcd-kmaster                      1/1     Running   20         20d   192.168.146.132   kmaster   <none>           <none>
kube-system   kube-apiserver-kmaster            1/1     Running   514        20d   192.168.146.132   kmaster   <none>           <none>
kube-system   kube-controller-manager-kmaster   1/1     Running   144        20d   192.168.146.132   kmaster   <none>           <none>
kube-system   kube-flannel-ds-amd64-ndpjq       1/1     Running   0          76m   192.168.146.129   knode     <none>           <none>
kube-system   kube-flannel-ds-amd64-s2vhp       1/1     Running   0          76m   192.168.146.132   kmaster   <none>           <none>
kube-system   kube-proxy-dk5jd                  1/1     Running   6          20d   192.168.146.132   kmaster   <none>           <none>
kube-system   kube-proxy-ts79l                  1/1     Running   2          20d   192.168.146.129   knode     <none>           <none>
kube-system   kube-scheduler-kmaster            1/1     Running   172        20d   192.168.146.132   kmaster   <none>           <none>

nguyen@kmaster:~$ kubectl get svc 
NAME         TYPE        CLUSTER-IP  EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   21d
nginx        ClusterIP   None         <none>        80/TCP    6h8m
kube系统coredns-fb8b8dccf-hbrhw 1/1运行0 26m
kube系统coredns-fb8b8dccf-rmrwp 1/1运行0 26m
nguyen@kmaster:~/Documents$kubectl get--all namespaces=true-o宽吊舱
命名空间名称就绪状态重新启动老化IP节点指定节点就绪门
默认总线箱1/1运行165m 10.244.1.218旋钮
默认web-0 1/1运行0 75m 10.244.1.215旋钮
默认web-1 1/1运行0 75m 10.244.1.216旋钮
kube系统coredns-fb8b8dccf-hbrhw 1/1运行0 51m 10.244.1.219旋钮
kube系统coredns-fb8b8dccf-rmrwp 1/1运行0 51m 10.244.0.37 kmaster
kube系统etcd kmaster 1/1运行20 20d 192.168.146.132 kmaster
kube系统kube apiserver kmaster 1/1运行514 20d 192.168.146.132 kmaster
kube系统kube控制器管理器kmaster 1/1运行144 20d 192.168.146.132 kmaster
kube系统kube-flannel-ds-amd64-ndpjq 1/1运行0 76m 192.168.146.129旋钮
kube系统kube-flannel-ds-amd64-s2vhp 1/1运行0 76m 192.168.146.132 kmaster
kube系统kube-proxy-dk5jd 1/1运行6 20d 192.168.146.132 kmaster
kube系统kube-proxy-ts79l 1/1运行2 20d 192.168.146.129 knode
kube系统kube调度程序kmaster 1/1运行172 20d 192.168.146.132 kmaster
nguyen@kmaster:~$kubectl获得svc
名称类型CLUSTER-IP外部IP端口年龄
kubernetes ClusterIP 10.96.0.1 443/TCP 21d
nginx ClusterIP None 80/TCP 6h8m
我错过什么了吗?有人可以帮我。
谢谢大家!

nginx statefulset部署在默认名称空间中,如下所示

default       web-0                             1/1     Running   0          75m   10.244.1.215      knode     <none>           <none>
default       web-1                             1/1     Running   0          75m   10.244.1.216      knode     <none>           <none>
运行0 75m 10.244.1.215旋钮的默认web-0 1/1
默认web-1 1/1运行0 75m 10.244.1.216旋钮
这是你应该如何测试的

master $ kubectl get po
NAME      READY     STATUS    RESTARTS   AGE
web-0     1/1       Running   0          1m
web-1     1/1       Running   0          1m

master $ kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   35m
nginx        ClusterIP   None         <none>        80/TCP    2m
master $ kubectl run -i --tty --image busybox:1.28 dns-test --restart=Never --rm
If you don't see a command prompt, try pressing enter.
/ # nslookup nginx
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      nginx
Address 1: 10.40.0.1 web-0.nginx.default.svc.cluster.local
Address 2: 10.40.0.2 web-1.nginx.default.svc.cluster.local
/ #
/ # nslookup web-0.nginx
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      web-0.nginx
Address 1: 10.40.0.1 web-0.nginx.default.svc.cluster.local

/ # nslookup web-0.nginx.default.svc.cluster.local
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      web-0.nginx.default.svc.cluster.local
Address 1: 10.40.0.1 web-0.nginx.default.svc.cluster.local
master$kubectl获得采购订单
名称就绪状态重新启动
web-0 1/1运行0 1m
web-1 1/1运行0 1m
master$kubectl获得svc
名称类型CLUSTER-IP外部IP端口年龄
kubernetes ClusterIP 10.96.0.1 443/TCP 35m
nginx ClusterIP None 80/TCP 2m
master$kubectl run-i--tty--image-busybox:1.28 dns测试--restart=Never--rm
如果看不到命令提示,请尝试按enter键。
/#nsnginx
服务器:10.96.0.10
地址1:10.96.0.10 kube-dns.kube-system.svc.cluster.local
姓名:nginx

地址1:10.40.0.1 web-0.nginx.default.svc.cluster.local 地址2:10.40.0.2 web-1.nginx.default.svc.cluster.local / # /#nslookup web-0.nginx 服务器:10.96.0.10 地址1:10.96.0.10 kube-dns.kube-system.svc.cluster.local 名称:web-0.nginx
地址1:10.40.0.1 web-0.nginx.default.svc.cluster.local
/#nslookup web-0.nginx.default.svc.cluster.local 服务器:10.96.0.10 地址1:10.96.0.10 kube-dns.kube-system.svc.cluster.local
名称:web-0.nginx.default.svc.cluster.local
地址1:10.40.0.1 web-0.nginx.default.svc.cluster.local
请包括
kubectl get pods-l app=nginx的输出
如果它们没有运行,将不会有DNS条目;实际上,kubectl get--all namespaces=true-o wide pods的输出将是超级有用的pods的IP地址很有趣,其中一些位于10.244.1.x网络中,这是flannel的范围,但一些位于192.168.146.x网络中?另外,flannel的重启次数为0,但对于其他系统吊舱,重启次数非常多。我想你在群集中尝试了一些东西,我不确定,但这可能是原因。嗨,Yavuz,因为我试图删除并再次创建flannel网络,所以重新启动的次数是0谢谢。我试过了,但还是不行!nslookup:无法解析“web-0.default”您也在本地PC上进行了测试?是的,我在我的环境中进行了测试,并使用上述pod dns附加了logsweb-0.nginx.default.svc.cluster.localTest nslookup