kube-dns保持ContainerCreating状态

Rav*_*nix 2 dns kubernetes flannel

我有5台机器运行Ubuntu 16.04.1 LTS.我想将它们设置为Kubernetes Cluster.我试着按照他们使用的入门指南进行操作kubeadm.

一切正常,直到步骤3/4安装pod网络.我看了那里的插件页面,寻找一个pod网络并选择了法兰绒覆盖网络.我将yaml文件复制到机器并执行:

root@up01:/home/up# kubectl apply -f flannel.yml 
Run Code Online (Sandbox Code Playgroud)

结果导致:

configmap "kube-flannel-cfg" created
daemonset "kube-flannel-ds" created
Run Code Online (Sandbox Code Playgroud)

所以我认为它没问题,但是当我显示所有pod内容时:

root@up01:/etc/kubernetes/manifests# kubectl get pods --all-namespaces
NAMESPACE     NAME                              READY     STATUS              RESTARTS   AGE
kube-system   dummy-2088944543-d5f50            1/1       Running             0          50m
kube-system   etcd-up01                         1/1       Running             0          48m
kube-system   kube-apiserver-up01               1/1       Running             0          50m
kube-system   kube-controller-manager-up01      1/1       Running             0          49m
kube-system   kube-discovery-1769846148-jvx53   1/1       Running             0          50m
kube-system   kube-dns-2924299975-prlgf         0/4       ContainerCreating   0          49m
kube-system   kube-flannel-ds-jb1df             2/2       Running             0          32m
kube-system   kube-proxy-rtcht                  1/1       Running             0          49m
kube-system   kube-scheduler-up01               1/1       Running             0          49m
Run Code Online (Sandbox Code Playgroud)

问题是kube-dns保持在ContainerCreating状态.我不知道该怎么办.

hta*_*ess 5

您很可能错过了指南中的这一重要信息:

如果你想使用法兰绒作为pod网络,如果你正在使用下面的守护进程清单,请指定--pod-network-cidr 10.244.0.0/16.

如果省略,kube-dns则永远不会离开ContainerCreatingSTATUS.

你的kubeadm init命令应该是:

# kubeadm init --pod-network-cidr 10.244.0.0/16
Run Code Online (Sandbox Code Playgroud)

并不是

# kubeadm init
Run Code Online (Sandbox Code Playgroud)

  • 我有同样的问题,我没有错过这些信息. (4认同)