我试图在本地计算机(Ubuntu 18.04)上部署Kubernetes系统,但DNS服务出现了一些问题(我无法通过其DNS名称与无头服务进行交谈)。
我使用minikube运行集群,版本是-
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-18T23:30:10Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-18T23:22:30Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}
无头服务-
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 67m
zookeeper-headless ClusterIP None <none> 2888/TCP,3888/TCP 3m58s
豆荚-
NAME READY STATUS RESTARTS AGE
zookeeper-statefulset-0 1/1 Running 1 57m
zookeeper-statefulset-1 1/1 Running 1 56m
zookeeper-statefulset-2 1/1 Running 1 54m
不存在的DNS服务终结点-(kubectl get ep kube-dns --namespace=kube-system
)
NAME ENDPOINTS AGE
kube-dns 68m
DNS窗格(未准备好)-
NAME READY STATUS RESTARTS AGE
coredns-6955765f44-gv42p 0/1 Running 1 58m
coredns-6955765f44-rfkm2 0/1 Running 1 58m
并且DNS pod的日志是-
[INFO]插件/重新加载:运行配置MD5 = 4e235fcc3696966e76816bcd9034ebc7 CoreDNS-1.6.5 linux / amd64,go1.13.4, c2fd1b2 [INFO]插件/就绪:仍在等待:“ kubernetes” [INFO] 插件/就绪:仍在等待:“ kubernetes” [信息]插件/就绪: 仍在等待:“ kubernetes” E0221 12:50:23.090626 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1。端点:获取 https://10.96.0.1:443/api/v1/endpoints?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090668 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Service:获取 https://10.96.0.1:443/api/v1/services?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090671 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Namespace:获取 https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:I / O超时I0221 12:50:23.090594 1 trace.go:82] Trace [146678255]:“反射器 pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98 ListAndWatch”(开始时间:2020-02-21 12:49:53.090061147 +0000 UTC m = + 0.011664556)(总时间:30.000405618s):跟踪[146678255]: [30.000405618s] [30.000405618s] END E0221 12:50:23.090626 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1。端点:获取 https://10.96.0.1:443/api/v1/endpoints?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090626 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1。端点:获取 https://10.96.0.1:443/api/v1/endpoints?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090626 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1。端点:获取 https://10.96.0.1:443/api/v1/endpoints?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:I / O超时I0221 12:50:23.090644 1 trace.go:82] Trace [653875127]:“反射器 pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98 ListAndWatch”(开始时间:2020-02-21 12:49:53.090057185 +0000 UTC m = + 0.011660587)(总时间:30.00054106s):跟踪[653875127]: [30.00054106s] [30.00054106s] END I0221 12:50:23.090654 1 trace.go:82] Trace [1501712764]:“反射器 pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98 ListAndWatch”(开始时间:2020-02-21 12:49:53.090052023 +0000 UTC m = + 0.011655434)(总时间:30.000437703s):跟踪[1501712764]: [30.000437703s] [30.000437703s] END E0221 12:50:23.090668 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Service:获取 https://10.96.0.1:443/api/v1/services?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090668 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Service:获取 https://10.96.0.1:443/api/v1/services?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090668 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Service:获取 https://10.96.0.1:443/api/v1/services?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090671 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Namespace:获取 https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090671 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Namespace:获取 https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:输入/输出超时E0221 12:50:23.090671 1 mirror.go:125] pkg/mod/k8s.io/client-go@v0.0.0-20190620085101-78d2af792bab/tools/cache/reflector.go:98: 无法列出* v1.Namespace:获取 https://10.96.0.1:443/api/v1/namespaces?limit=500&resourceVersion=0: 拨打tcp 10.96.0.1:443:I/O超时[INFO]插件/就绪:仍在等待 上:“ kubernetes” [INFO]插件/就绪:仍在等待:“ kubernetes” [INFO]插件/就绪:仍在等待:“ kubernetes”
我尝试跑步-
kubectl run -i --tty --image busybox:1.28 dns-test --restart=Never --rm
/ # nslookup headless.default.svc.cluster.local
得到-
Server: 10.96.0.10
Address 1: 10.96.0.10
nslookup: can't resolve 'headless.default.svc.cluster.local'
我什至不知道从哪里开始修复它。有人可以帮忙吗?
更新
我认为我了解导致问题的原因,但我不理解为什么会发生。
激活防火墙后,似乎出现了问题。由于某些原因,核心dns容器无法运行并陷入就绪状态。在我通过运行关闭防火墙后,
sudo ufw disable
核心dns荚状态已更改为Running
,并且该服务现在具有端点地址。
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 zookeeper-headless.default
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: zookeeper-headless.default
Address 1: 172.17.0.4 zookeeper-statefulset-1.zookeeper-headless.default.svc.cluster.local
Address 2: 172.17.0.5 zookeeper-statefulset-0.zookeeper-headless.default.svc.cluster.local
Address 3: 172.17.0.6 zookeeper-statefulset-2.zookeeper-headless.default.svc.cluster.local
。
NAME ENDPOINTS AGE
kube-dns 172.17.0.2:53,172.17.0.3:53,172.17.0.2:53 + 3 more... 34m
。
NAMESPACE NAME READY STATUS RESTARTS 12m
kube-system coredns-6955765f44-2d8md 1/1 Running 4 34m
kube-system coredns-6955765f44-n2gcp 1/1 Running 4 34m
答案 0 :(得分:1)
我在想我理解导致问题的原因,但我不理解为什么会发生。 激活防火墙后,似乎出现了问题。由于某些原因,核心dns容器无法运行并陷入就绪状态。在我通过运行关闭防火墙后-
sudo ufw disable
core-dns pods状态已更改为Running
,并且该服务现在具有端点地址。
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 zookeeper-headless.default
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: zookeeper-headless.default
Address 1: 172.17.0.4 zookeeper-statefulset-1.zookeeper-headless.default.svc.cluster.local
Address 2: 172.17.0.5 zookeeper-statefulset-0.zookeeper-headless.default.svc.cluster.local
Address 3: 172.17.0.6 zookeeper-statefulset-2.zookeeper-headless.default.svc.cluster.local
。
NAME ENDPOINTS AGE
kube-dns 172.17.0.2:53,172.17.0.3:53,172.17.0.2:53 + 3 more... 34m
。
NAMESPACE NAME READY STATUS RESTARTS 12m
kube-system coredns-6955765f44-2d8md 1/1 Running 4 34m
kube-system coredns-6955765f44-n2gcp 1/1 Running 4 34m