3

我有 5 台机器运行 Ubuntu 16.04.1 LTS。我想将它们设置为 Kubernetes 集群。我ḿ 尝试按照他们正在使用的入门指南kubeadm进行操作。

在步骤3/4 安装 pod network之前一切正常。我查看了插件页面以查找 pod 网络并选择了 flannel 覆盖网络。iǘe将yaml文件复制到本机并执行:

root@up01:/home/up# kubectl apply -f flannel.yml 

结果是:

configmap "kube-flannel-cfg" created
daemonset "kube-flannel-ds" created

所以我认为一切正常,但是当我显示所有 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

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

4

2 回答 2

6

您很可能错过了指南中的这条关键信息:

如果您想使用 flannel 作为 pod 网络,请指定 --pod-network-cidr 10.244.0.0/16 如果您正在使用下面的 daemonset 清单。

如果您省略它,kube-dns它将永远不会离开ContainerCreatingSTATUS。

你的kubeadm init命令应该是:

# kubeadm init --pod-network-cidr 10.244.0.0/16

并不是

# kubeadm init
于 2017-02-18T03:03:19.933 回答
1

您是否尝试重新启动 NetworkManager ...?它对我有用。另外,当我禁用 IPv6 时它也有效。

于 2018-03-13T08:30:54.270 回答