我有一个本地的 Kubernetes 3 节点集群,安装了 weave-Net 作为 Overlay-Network-Plugin。我的目标是尝试 kubernetes 的网络策略,并将此过程的日志消息导出到 elk-stack。
不幸的是,我无法继续,因为我无法解决我的 kube-dns 问题。名称解析似乎有效,但从 pod 到服务的网络连接存在问题。
这里有一些关于我的设置的事实(有关版本/一般配置详细信息,请参见下文):
- 我登录到一个 pod“
busybox
” - 我有一个名为“
nginx
”的服务,它与一个已启动并正在运行的 nginx-pod 连接 - 从busybox,我不能ping dns:
25 packets transmitted, 0 packets received, 100% packet loss
如果我尝试“
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.104.126.131 nginx.default.svc.cluster.local
我还更改了手动更改busybox-Pod上的配置文件,以在没有FQDN的情况下进行名称解析:
/ # cat /etc/resolv.conf nameserver 10.96.0.10 search default.svc.cluster.local svc.cluster.local cluster.local nginx XXX.XXX.de options ndots:5
这对我来说似乎不是一个好的解决方法,但至少它正在工作,并且 nslookup 为我提供了 nginx-Service 的正确 IP:
user@controller:~$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx ClusterIP 10.104.126.131 <none> 80/TCP 3d
现在,回到我的网络问题: pod 上似乎没有正确的网络接口可以建立与服务的连接:
/ # ifconfig eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:02 inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:272 errors:0 dropped:0 overruns:0 frame:0 TX packets:350 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:23830 (23.2 KiB) TX bytes:32140 (31.3 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
busybox-pod 有这个 IP:172.17.0.2
而 DNS 在以 10 开头的子网中。 dns: 的 IP 10.96.0.10
。
- Weavenet 有时会在一个工作节点上崩溃,但在一般情况下,它显示为“正在运行”,我认为这不是原因。
--> 谁能看到我网络中的底层配置错误?我很高兴得到提示!:)
一般信息:
Kubernetes/kubectl: v1.9.2
我使用 kubeadm 安装。
unname -a:Linux controller 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
码头工人版本:
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.6.2
Git commit: 092cba3
Built: Thu Nov 2 20:40:23 2017
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Go version: go1.6.2
Git commit: 092cba3
Built: Thu Nov 2 20:40:23 2017
OS/Arch: linux/amd64
Experimental: false
织网:2.2.0