Kubernetes-无法设置DNS
根据安装kubernetes后:我无法设置dns加载项 Kubelet正在运行:Kubernetes-无法设置DNS,kubernetes,kube-dns,Kubernetes,Kube Dns,根据安装kubernetes后:我无法设置dns加载项 Kubelet正在运行: ● kubelet.service Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2017-07-11 08:30:18 UTC; 35min ago Process: 5489 ExecStop=/us
● kubelet.service
Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2017-07-11 08:30:18 UTC; 35min ago
Process: 5489 ExecStop=/usr/bin/rkt stop --uuid-file=/var/run/kubelet-pod.uuid (code=exited, status=0/SUCCESS)
Process: 5507 ExecStartPre=/usr/bin/rkt rm --uuid-file=/var/run/kubelet-pod.uuid (code=exited, status=0/SUCCESS)
Process: 5503 ExecStartPre=/usr/bin/mkdir -p /var/log/containers (code=exited, status=0/SUCCESS)
Process: 5501 ExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/manifests (code=exited, status=0/SUCCESS)
Main PID: 5519 (kubelet)
Tasks: 21 (limit: 32768)
Memory: 67.1M
CPU: 40.541s
CGroup: /system.slice/kubelet.service
├─5519 /kubelet --api-servers=http://127.0.0.1:8080 --register-schedulable=false --cni-conf-dir=/etc/kubernetes/cni/net.d --network-plugin= --container-runtime=docker --allow-privileged=true --pod-manifest-path=/etc/kubernetes/
└─5574 journalctl -k -f
但是kube dns无法连接到api服务器:
I0711 09:04:36.117052 1 dns.go:42] version: v1.6.0-alpha.0.680+3872cb93abf948-dirty
I0711 09:04:36.117449 1 server.go:107] Using https://10.3.0.1:443 for kubernetes master, kubernetes API: <nil>
I0711 09:04:36.118188 1 server.go:63] ConfigMap not configured, using values from command line flags
I0711 09:04:36.118223 1 server.go:113] FLAG: --alsologtostderr="false"
I0711 09:04:36.118234 1 server.go:113] FLAG: --config-map=""
I0711 09:04:36.118241 1 server.go:113] FLAG: --config-map-namespace="kube-system"
I0711 09:04:36.118246 1 server.go:113] FLAG: --dns-bind-address="0.0.0.0"
I0711 09:04:36.118264 1 server.go:113] FLAG: --dns-port="10053"
I0711 09:04:36.118271 1 server.go:113] FLAG: --domain="cluster.local."
I0711 09:04:36.118277 1 server.go:113] FLAG: --federations=""
I0711 09:04:36.118289 1 server.go:113] FLAG: --healthz-port="8081"
I0711 09:04:36.118294 1 server.go:113] FLAG: --kube-master-url=""
I0711 09:04:36.118299 1 server.go:113] FLAG: --kubecfg-file=""
I0711 09:04:36.118303 1 server.go:113] FLAG: --log-backtrace-at=":0"
I0711 09:04:36.118310 1 server.go:113] FLAG: --log-dir=""
I0711 09:04:36.118315 1 server.go:113] FLAG: --log-flush-frequency="5s"
I0711 09:04:36.118322 1 server.go:113] FLAG: --logtostderr="true"
I0711 09:04:36.118327 1 server.go:113] FLAG: --stderrthreshold="2"
I0711 09:04:36.118331 1 server.go:113] FLAG: --v="0"
I0711 09:04:36.118335 1 server.go:113] FLAG: --version="false"
I0711 09:04:36.118342 1 server.go:113] FLAG: --vmodule=""
I0711 09:04:36.119467 1 server.go:155] Starting SkyDNS server (0.0.0.0:10053)
I0711 09:04:36.119543 1 server.go:167] Skydns metrics not enabled
I0711 09:04:36.119626 1 logs.go:41] skydns: ready for queries on cluster.local. for tcp://0.0.0.0:10053 [rcache 0]
I0711 09:04:36.119644 1 logs.go:41] skydns: ready for queries on cluster.local. for udp://0.0.0.0:10053 [rcache 0]
E0711 09:05:06.120481 1 reflector.go:199] pkg/dns/dns.go:145: Failed to list *api.Endpoints: Get https://10.3.0.1:443/api/v1/endpoints?resourceVersion=0: dial tcp 10.3.0.1:443: i/o timeout
E0711 09:05:06.120729 1 reflector.go:199] pkg/dns/dns.go:148: Failed to list *api.Service: Get https://10.3.0.1:443/api/v1/services?resourceVersion=0: dial tcp 10.3.0.1:443: i/o timeout
Api服务器IP:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 5e:a7:f2:78:8d:04 brd ff:ff:ff:ff:ff:ff
inet 10.10.0.201/24 brd 10.10.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5ca7:f2ff:fe78:8d04/64 scope link
valid_lft forever preferred_lft forever
3: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
link/ether ae:1e:17:85:1b:63 brd ff:ff:ff:ff:ff:ff
inet 10.2.13.0/32 scope global flannel.1
valid_lft forever preferred_lft forever
inet6 fe80::ac1e:17ff:fe85:1b63/64 scope link
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:06:e4:42:33 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
#ip地址
1:lo:mtu 65536 qdisc noqueue状态未知组默认qlen 1000
链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
永远有效\u lft首选\u lft永远有效
inet6::1/128作用域主机
永远有效\u lft首选\u lft永远有效
2:eth0:mtu 1500 qdisc pfifo_快速状态向上组默认qlen 1000
链路/乙醚5e:a7:f2:78:8d:04 brd ff:ff:ff:ff:ff:ff:ff:ff
inet 10.10.0.201/24 brd 10.10.0.255范围全局eth0
永远有效\u lft首选\u lft永远有效
inet6 fe80::5ca7:f2ff:fe78:8d04/64范围链接
永远有效\u lft首选\u lft永远有效
3:flannel.1:mtu 1450 qdisc noqueue状态未知组默认值
链路/以太ae:1e:17:85:1b:63 brd ff:ff:ff:ff:ff:ff:ff
inet 10.2.13.0/32 scope全球法兰绒1
永远有效\u lft首选\u lft永远有效
inet6 fe80::ac1e:17ff:fe85:1b63/64范围链接
永远有效\u lft首选\u lft永远有效
4:docker0:mtu 1500 qdisc noqueue状态关闭组默认值
链接/以太02:42:06:e4:42:33 brd ff:ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16范围全局docker0
永远有效\u lft首选\u lft永远有效
DNS服务:
kubectl --namespace=kube-system get svc -o wide
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kube-dns 10.3.0.10 <none> 53/UDP,53/TCP 1h k8s-app=kube-dns
kubectl--namespace=kube-system-get-svc-o-wide
名称群集-IP外部-IP端口年龄选择器
kube dns 10.3.0.10 53/UDP,53/TCP 1h k8s app=kube dns
据我所见,DNS服务试图访问的API服务器地址(10.10.0.201)和API服务器地址(10.3.0.1)不匹配。DNS服务必须配置为使用10.10.0.201作为API地址
我认为
——api服务器=http://127.0.0.1:8080
在Kubelet中(我假设kube dns服务可能在api服务器的不同节点上运行)可能是问题的原因。根据我在上面发布的链接,这是单主机配置,api服务器正在本地主机上不安全地侦听,并且在所有地址上都安全地侦听。`-名称:kube apiserver。。。命令:-/hyperkube-apiserver---bind address=0.0.0.0---etcd servers=--allow privileged=true---service cluster ip range=10.3.0.0/24---secure port=443---advision address=10.10.0.201…---运行时配置=extensions/v1beta1/networkpolicies=true----匿名身份验证=false----存储后端=etcd2I厌倦了,但没有什么区别
kubectl --namespace=kube-system get svc -o wide
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kube-dns 10.3.0.10 <none> 53/UDP,53/TCP 1h k8s-app=kube-dns