Kubernetes失败创建已禁用IPv6的pod沙箱

时间:2018-01-25 07:15:40

标签: kubernetes ipv6 flannel

我昨天注意到了Kubernetes的以下情况。我必须使用kubeadm在Redhat 7.3操作系统上安装Kubernetes。作为网络插件,我使用法兰绒。一切顺利,直到我发现我的DNS pod无法启动时出现以下错误:

Normal   SandboxChanged          13m (x42200 over 13h)  kubelet, k8s-master  Pod sandbox changed, it will be killed and re-created.
Warning  FailedCreatePodSandBox  3m (x42687 over 13h)   kubelet, k8s-master  Failed create pod sandbox.

我检查了我的cni界面,发现了以下内容:

cni0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    ether 00:00:00:00:00:00  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

没有IP地址和mac。然后我检查了目录/ var / lib / cni / networks / cbr0 /。有文件对应于由法兰绒分配给该主机的网络10.244.0.0/24。

然后我检查了日志:

journalctl -xe | grep cni
Jan 24 20:35:02 k8s-master kubelet[3353]: E0124 20:35:02.979434    3353     cni.go:259] Error adding network: open /proc/sys/net/ipv6/conf/eth0/accept_dad: no such file or directory
Jan 24 20:35:02 k8s-master kubelet[3353]: E0124 20:35:02.979452    3353 cni.go:227] Error while adding to cni network: open /proc/sys/net/ipv6/conf/eth0/accept_dad: no such file or directory
Jan 24 20:35:03 k8s-master kubelet[3353]: E0124 20:35:03.260145    3353 remote_runtime.go:92] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = NetworkPlugin cni failed to set up pod "kube-dns-6f4fd4bdf-mcztl_kube-system" network: open /proc/sys/net/ipv6/conf/eth0/accept_dad: no such file or directory

所以有些东西连接到ipv6,但我不知道为什么,因为我们不使用IPv6协议。然后我检查了内核级别的IPv6模块,发现它已被禁用:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

只是为了测试,我试图启用它,它帮助pod获得IP一切正常。

有人可以澄清这种情况,也许你遇到同样的问题?如果我不使用它,为什么我无法禁用IPv6?

提前谢谢。

0 个答案:

没有答案