首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用网络插件" cni ":cni配置未初始化;跳过pod

使用网络插件" cni ":cni配置未初始化;跳过pod
EN

Stack Overflow用户
提问于 2016-10-20 18:21:50
回答 2查看 5.9K关注 0票数 4

我创建了

使用kubeadm kubeadm initkubernetes群集。

我在/var/log/messages中收到错误消息。

代码语言:javascript
复制
Oct 20 10:09:52 aws08 kubelet: I1020 10:09:52.015921    7116
docker_manager.go:1787] DNS ResolvConfPath exists:
/var/lib/docker/containers/717adf7a8481637ac20a9ba103d8f97635a88bf05f18bd4299f0d164e48f2920/resolv.conf.
Will attempt to add ndots option: options ndots:5 Oct 20 10:09:52
aws08 kubelet: I1020 10:09:52.015963    7116 docker_manager.go:2121]
Calling network plugin cni to setup pod for
kube-dns-2247936740-cjij4_kube-system(3b296413-96aa-11e6-8c40-02fff663a168)
Oct 20 10:09:52 aws08 kubelet: E1020 10:09:52.015982    7116
docker_manager.go:2127] Failed to setup network for pod
"kube-dns-2247936740-cjij4_kube-system(3b296413-96aa-11e6-8c40-02fff663a168)"
using network plugins "cni": cni config unintialized; Skipping pod Oct
20 10:09:52 aws08 kubelet: I1020 10:09:52.018824    7116
docker_manager.go:1492] Killing container
"717adf7a8481637ac20a9ba103d8f97635a88bf05f18bd4299f0d164e48f2920
kube-system/kube-dns-2247936740-cjij4" with 30 second grace period

DNS pod出现故障:

代码语言:javascript
复制
kube-system   kube-dns-2247936740-j5rtc        0/3       ContainerCreating   21         1h

如果我禁用了CNI,则DNS正在运行。但是DNS的问题仍然存在。

禁用cni的方法是注释/etc/systemd/system/kubelet.service.d/10-kubeadm.conf中的KUBELET_NETWORK_ARGS行,然后重新启动kubelet服务

代码语言:javascript
复制
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
# Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=100.64.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_EXTRA_ARGS=--v=4"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_EXTRA_ARGS

然后是:

sudo systemctl重启kubelet

EN

回答 2

Stack Overflow用户

发布于 2016-12-16 22:23:44

我猜你忘了setup the pod network了。

从文档中:

在尝试将任何应用程序部署到集群之前,以及在kube-dns启动之前,有必要执行此操作。还要注意的是,kubeadm只支持基于CNI的网络,因此基于kubenet的网络将无法工作。

您可以使用以下命令安装pod网络插件:

代码语言:javascript
复制
kubectl apply -f <add-on.yaml>

示例:

代码语言:javascript
复制
kubectl create -f https://git.io/weave-kube

若要安装Weave Net附加组件,请执行以下操作。

完成此操作后,您可能需要重新创建kube-dns pod。

票数 2
EN

Stack Overflow用户

发布于 2017-04-17 17:20:36

cni初始化应在kubelet初始化期间完成。因此,请尝试重新启动kubelet服务,并确保可以正确解析cni配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40151714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档