无法通过 kube-dns 使用名称解析

无法通过 kube-dns 使用名称解析

我所在的 kubernetes 集群有 3 个节点,这些节点都是虚拟机,它们用于与作为唯一主机接口的桥进行通信: 192.168.99.101 master 192.168.99.102 和 .103 我用来创建集群 kubeadm 的其他节点我已经通过了这个成瘾参数_--api-advertise-address=192.168.99.101

现在,如果我在我的应用程序中使用它们,将我连接到部署的服务的 IP 工作正常,但如果我尝试使用相同服务的名称,我找不到它(但我看到:

kubectl get svc -n kube-system
NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kube-dns   ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP   57m

我使用本指南来解决我发现了错误,但我不知道如何解决:

vmmaster@vmmaster-VirtualBox:~/Documenti/Tesi/NFS$  kubectl exec -ti busybox -- nslookup kubernetes.default
Server:    10.96.0.10
Address 1: 10.96.0.10

nslookup: can't resolve 'kubernetes.default'
command terminated with exit code 1

我已按照下一步操作,我仅复制带有日志 WF 和 E 的内容,因为它们是错误日志:

    kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c kubedns
    E0516 15:55:28.781740       1 reflector.go:201] k8s.io/dns/pkg/dns/dns.go:150: Failed to list *v1.Service: Get https://10.96.0.1:443/api/v1/services?resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout
    E0516 15:55:28.782057       1 reflector.go:201] k8s.io/dns/pkg/dns/dns.go:147: Failed to list *v1.Endpoints: Get https://10.96.0.1:443/api/v1/endpoints?resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout

    kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq
    W0516 15:54:59.341790       1 nanny.go:120] Got EOF from stdout

和:

        kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar
    W0516 15:54:59.233531       1 server.go:64] Error getting metrics from dnsmasq: read udp 127.0.0.1:54118->127.0.0.1:53: read: connection refused

有人能帮我吗?

相关内容