Kubernetes nslookup Kubernetes.default失败
我的环境:Kubernetes nslookup Kubernetes.default失败,kubernetes,nslookup,coredns,Kubernetes,Nslookup,Coredns,我的环境: OS - CentOS-8.2 Kubernetes Vesion: Client Version: v1.18.8 Server Version: v1.18.8 我已经成功地配置了Kubernetes集群(一个主集群和一个工作集群),但是目前在用下面的代码检查dns解析时失败了 apiVersion: v1 kind: Pod metadata: name: dnsutils namespace: default spec: containers: - name
OS - CentOS-8.2
Kubernetes Vesion:
Client Version: v1.18.8
Server Version: v1.18.8
我已经成功地配置了Kubernetes集群(一个主集群和一个工作集群),但是目前在用下面的代码检查dns解析时失败了
apiVersion: v1
kind: Pod
metadata:
name: dnsutils
namespace: default
spec:
containers:
- name: dnsutils
image: gcr.io/kubernetes-e2e-test-images/dnsutils:1.3
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
# kubectl get pods -o wide --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default dnsutils 1/1 Running 0 4m38s 10.244.1.20 K8s-Worker-1 <none> <none>
kube-system coredns-66bff467f8-2q4z9 1/1 Running 1 4d14h 10.244.0.5 K8s-Master <none> <none>
kube-system coredns-66bff467f8-ktbd4 1/1 Running 1 4d14h 10.244.0.4 K8s-Master <none> <none>
kube-system etcd-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-apiserver-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-controller-manager-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-flannel-ds-amd64-d6h9c 1/1 Running 61 45h 65.66.67.6 K8s-Worker-1 <none> <none>
kube-system kube-flannel-ds-amd64-tc4qf 1/1 Running 202 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-proxy-cl9n4 1/1 Running 0 45h 65.66.67.6 K8s-Worker-1 <none> <none>
kube-system kube-proxy-s7jlc 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-scheduler-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
# kubectl get pods
NAME READY STATUS RESTARTS AGE
dnsutils 1/1 Running 0 22m
# kubectl exec -i -t dnsutils -- nslookup kubernetes.default
;; connection timed out; no servers could be reached
command terminated with exit code 1
# kubectl exec -ti dnsutils -- cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local company.domain.com
options ndots:5
# kubectl get pods --namespace=kube-system -l k8s-app=kube-dns
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-2q4z9 1/1 Running 1 4d14h
coredns-66bff467f8-ktbd4 1/1 Running 1 4d14h
# kubectl logs --namespace=kube-system -l k8s-app=kube-dns
.:53
[INFO] plugin/reload: Running configuration MD5 = 4e235fcc3696966e76816bcd9034ebc7
CoreDNS-1.6.7
linux/amd64, go1.13.6, da7f65b
.:53
[INFO] plugin/reload: Running configuration MD5 = 4e235fcc3696966e76816bcd9034ebc7
CoreDNS-1.6.7
linux/amd64, go1.13.6, da7f65b
# kubectl get svc --namespace=kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 4d14h
# kubectl get endpoints kube-dns --namespace=kube-system
NAME ENDPOINTS AGE
kube-dns 10.244.0.4:53,10.244.0.5:53,10.244.0.4:9153 + 3 more... 4d14h
# kubectl describe svc -n kube-system kube-dns
Name: kube-dns
Namespace: kube-system
Labels: k8s-app=kube-dns
kubernetes.io/cluster-service=true
kubernetes.io/name=KubeDNS
Annotations: prometheus.io/port: 9153
prometheus.io/scrape: true
Selector: k8s-app=kube-dns
Type: ClusterIP
IP: 10.96.0.10
Port: dns 53/UDP
TargetPort: 53/UDP
Endpoints: 10.244.0.4:53,10.244.0.5:53
Port: dns-tcp 53/TCP
TargetPort: 53/TCP
Endpoints: 10.244.0.4:53,10.244.0.5:53
Port: metrics 9153/TCP
TargetPort: 9153/TCP
Endpoints: 10.244.0.4:9153,10.244.0.5:9153
Session Affinity: None
Events: <none>
# kubectl describe svc kubernetes
Name: kubernetes
Namespace: default
Labels: component=apiserver
provider=kubernetes
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: 10.96.0.1
Port: https 443/TCP
TargetPort: 6443/TCP
Endpoints: 65.66.67.5:6443
Session Affinity: None
Events: <none>
apiVersion:v1
种类:豆荚
元数据:
姓名:dnsutils
名称空间:默认值
规格:
容器:
-姓名:dnsutils
图片:gcr.io/kubernetes-e2e-test-images/dnsutils:1.3
命令:
-睡眠
- "3600"
imagePullPolicy:如果不存在
restartPolicy:始终
#kubectl获得pods-o宽——所有名称空间
命名空间名称就绪状态重新启动老化IP节点指定节点就绪门
默认dnsutils 1/1运行0 4m38s 10.244.1.20 K8s-Worker-1
kube系统coredns-66bff467f8-2q4z9 1/1运行1 4d14h 10.244.0.5 K8s主机
kube系统coredns-66bff467f8-ktbd4 1/1运行1 4d14h 10.244.0.4 K8s主机
kube系统etcd-K8s-Master 1/1运行1 4d14h 65.66.67.5 K8s Master
kube系统kube-apiserver-K8s-Master 1/1运行1 4d14h 65.66.67.5 K8s Master
kube系统kube-controller-manager-K8s-Master 1/1运行1 4d14h 65.66.67.5 K8s Master
kube系统kube-flannel-ds-amd64-d6h9c 1/1运行61 45h 65.66.67.6 K8s-WOER-1
kube系统kube-flannel-ds-amd64-tc4qf 1/1运行202 4d14h 65.66.67.5 K8s主机
kube系统kube-proxy-cl9n4 1/1运行0 45h 65.66.67.6 K8s-Worker-1
kube系统kube-proxy-s7jlc 1/1运行1 4d14h 65.66.67.5 K8s主机
kube系统kube-scheduler-K8s-Master 1/1运行1 4d14h 65.66.67.5 K8s Master
#kubectl得到豆荚
名称就绪状态重新启动
dnsutils 1/1运行0 22m
当前,在Kubernetes群集主机和nslookup Kubernetes.default上执行的以下命令失败
apiVersion: v1
kind: Pod
metadata:
name: dnsutils
namespace: default
spec:
containers:
- name: dnsutils
image: gcr.io/kubernetes-e2e-test-images/dnsutils:1.3
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
# kubectl get pods -o wide --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default dnsutils 1/1 Running 0 4m38s 10.244.1.20 K8s-Worker-1 <none> <none>
kube-system coredns-66bff467f8-2q4z9 1/1 Running 1 4d14h 10.244.0.5 K8s-Master <none> <none>
kube-system coredns-66bff467f8-ktbd4 1/1 Running 1 4d14h 10.244.0.4 K8s-Master <none> <none>
kube-system etcd-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-apiserver-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-controller-manager-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-flannel-ds-amd64-d6h9c 1/1 Running 61 45h 65.66.67.6 K8s-Worker-1 <none> <none>
kube-system kube-flannel-ds-amd64-tc4qf 1/1 Running 202 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-proxy-cl9n4 1/1 Running 0 45h 65.66.67.6 K8s-Worker-1 <none> <none>
kube-system kube-proxy-s7jlc 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
kube-system kube-scheduler-K8s-Master 1/1 Running 1 4d14h 65.66.67.5 K8s-Master <none> <none>
# kubectl get pods
NAME READY STATUS RESTARTS AGE
dnsutils 1/1 Running 0 22m
# kubectl exec -i -t dnsutils -- nslookup kubernetes.default
;; connection timed out; no servers could be reached
command terminated with exit code 1
# kubectl exec -ti dnsutils -- cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local company.domain.com
options ndots:5
# kubectl get pods --namespace=kube-system -l k8s-app=kube-dns
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-2q4z9 1/1 Running 1 4d14h
coredns-66bff467f8-ktbd4 1/1 Running 1 4d14h
# kubectl logs --namespace=kube-system -l k8s-app=kube-dns
.:53
[INFO] plugin/reload: Running configuration MD5 = 4e235fcc3696966e76816bcd9034ebc7
CoreDNS-1.6.7
linux/amd64, go1.13.6, da7f65b
.:53
[INFO] plugin/reload: Running configuration MD5 = 4e235fcc3696966e76816bcd9034ebc7
CoreDNS-1.6.7
linux/amd64, go1.13.6, da7f65b
# kubectl get svc --namespace=kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 4d14h
# kubectl get endpoints kube-dns --namespace=kube-system
NAME ENDPOINTS AGE
kube-dns 10.244.0.4:53,10.244.0.5:53,10.244.0.4:9153 + 3 more... 4d14h
# kubectl describe svc -n kube-system kube-dns
Name: kube-dns
Namespace: kube-system
Labels: k8s-app=kube-dns
kubernetes.io/cluster-service=true
kubernetes.io/name=KubeDNS
Annotations: prometheus.io/port: 9153
prometheus.io/scrape: true
Selector: k8s-app=kube-dns
Type: ClusterIP
IP: 10.96.0.10
Port: dns 53/UDP
TargetPort: 53/UDP
Endpoints: 10.244.0.4:53,10.244.0.5:53
Port: dns-tcp 53/TCP
TargetPort: 53/TCP
Endpoints: 10.244.0.4:53,10.244.0.5:53
Port: metrics 9153/TCP
TargetPort: 9153/TCP
Endpoints: 10.244.0.4:9153,10.244.0.5:9153
Session Affinity: None
Events: <none>
# kubectl describe svc kubernetes
Name: kubernetes
Namespace: default
Labels: component=apiserver
provider=kubernetes
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: 10.96.0.1
Port: https 443/TCP
TargetPort: 6443/TCP
Endpoints: 65.66.67.5:6443
Session Affinity: None
Events: <none>
#kubectl exec-i-t dnsutils--nslookup kubernetes.default
;; 连接超时;无法访问任何服务器
命令终止,退出代码为1
#kubectl exec-ti dnsutils-cat/etc/resolv.conf
名称服务器10.96.0.10
搜索default.svc.cluster.local svc.cluster.local cluster.local company.domain.com
备选方案:5
#kubectl get pods——名称空间=kube系统-LK8S应用程序=kube dns
名称就绪状态重新启动
coredns-66bff467f8-2q4z9 1/1运行1 4d14h
coredns-66bff467f8-ktbd4 1/1运行1 4d14h
#kubectl日志--名称空间=kube系统-LK8S应用程序=kube dns
.:53
[信息]插件/重新加载:运行配置MD5=4E235FCC36966E76816BCD9034EBC7
CoreDNS-1.6.7
linux/amd64,go1.13.6,da7f65b
.:53
[信息]插件/重新加载:运行配置MD5=4E235FCC36966E76816BCD9034EBC7
CoreDNS-1.6.7
linux/amd64,go1.13.6,da7f65b
#kubectl get svc--namespace=kube系统
名称类型CLUSTER-IP外部IP端口年龄
kube dns ClusterIP 10.96.0.10 53/UDP、53/TCP、9153/TCP 4d14h
#kubectl获取端点kube dns--名称空间=kube系统
姓名端点年龄
kube dns 10.244.0.4:53,10.244.0.5:53,10.244.0.4:9153+3更多。。。4d14h
#kubectl描述svc-n kube系统kube dns
名称:kube dns
名称空间:kube系统
标签:k8s app=kube dns
kubernetes.io/cluster service=true
kubernetes.io/name=KubeDNS
注释:prometheus.io/port:9153
普罗米修斯:对
选择器:k8s app=kube dns
类型:集群
IP:10.96.0.10
端口:dns 53/UDP
目标端口:53/UDP
终点:10.244.0.4:53,10.244.0.5:53
端口:dns tcp 53/tcp
目标端口:53/TCP
终点:10.244.0.4:53,10.244.0.5:53
端口:metrics 9153/TCP
目标端口:9153/TCP
终点:10.244.0.4:9153,10.244.0.5:9153
会话关联:无
活动:
#kubectl描述svc kubernetes
姓名:kubernetes
名称空间:默认值
标签:组件=apiserver
提供者=kubernetes
注释:
选择器:
类型:集群
IP:10.96.0.1
端口:https 443/TCP
目标端口:6443/TCP
终点:65.66.67.5:6443
会话关联:无
活动:
有人能帮我调试这个问题吗。谢谢。我已经卸载并重新安装了Kubernetes版本-v1.19.0现在一切正常。谢谢。添加
kubectl description svc kubernetes的输出
@ArghyaSadhu,添加了有问题的输出部分。