Kubernetes 由于cni失踪,Kubelet大师留在KubeletNotReady

Kubernetes 由于cni失踪,Kubelet大师留在KubeletNotReady,kubernetes,kubelet,calico,cni,Kubernetes,Kubelet,Calico,Cni,Kubelet已通过印花布pod网络初始化: sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --image-repository=someserver 然后我得到calico.yaml v3.11并应用它: sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" apply -f calico.yaml 在我检查pod状态之后: sudo kubectl --kubeconfig=

Kubelet已通过印花布pod网络初始化:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --image-repository=someserver
然后我得到calico.yaml v3.11并应用它:

sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" apply -f calico.yaml
在我检查pod状态之后:

sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" get nodes
NAME              STATUS     ROLES    AGE     VERSION
master-1   NotReady   master   7m21s   v1.17.2
我已经把cni配置单元化了,但我认为印花布应该这么做

MemoryPressure   False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletNotReady              runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
事实上,我在/etc/cni/net.d/下什么都没有,所以它好像忘了什么

ll /etc/cni/net.d/
total 0
正如我所解释的,我正在运行一个本地回购协议,journalctl说:

 kubelet[21935]: E0225 14:30:54.830683   21935 pod_workers.go:191] Error syncing pod cec2f72b-844a-4d6b-8606-3aff06d4a36d ("calico-node-f4xzh_kube-system(cec2f72b-844a-4d6b-8606-3aff06d4a36d)"), skipping: failed to "StartContainer" for "upgrade-ipam" with ErrImagePull: "rpc error: code = Unknown desc = Error response from daemon: Get https://repo:10000/v2/calico/cni/manifests/v3.11.2: no basic auth credentials"
 kubelet[21935]: E0225 14:30:56.008989   21935 kubelet.go:2183] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

感觉不仅仅是CNI的问题,核心DNS吊舱将被搁置,并且在印花棉布吊舱成功运行和CNI正确设置之前,主机将不准备就绪


从docker.io下载calico docker图像似乎是网络问题。因此,您可以从docker.io中提取印花棉布图像并将其推送到您的内部容器注册表,然后修改印花棉布yaml以在calico.yaml的图像部分引用该注册表,最后将修改后的印花棉布yaml应用到kubernetes群集。

因此Init:ImagePullBackOff的问题是它无法从我的私有服务器应用图像自动回购。我不得不从docker那里调出所有印花布的图片。然后我删除了印花棉布吊舱,它正在用新推的图像重建自己

sudo docker pull private-repo/calico/pod2daemon-flexvol:v3.11.2
sudo docker pull private-repo/calico/node:v3.11.2
sudo docker pull private-repo/calico/cni:v3.11.2
sudo docker pull private-repo/calico/kube-controllers:v3.11.2

sudo kubectl -n kube-system delete po/calico-node-y7g5
之后,节点重新执行所有初始化阶段,并:

sudo kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-5644fb7cf6-qkf47   1/1     Running   0          11s
calico-node-mkcsr                          1/1     Running   0          21m
coredns-7fb8cdf968-bgqvj                   1/1     Running   0          37m
coredns-7fb8cdf968-v85jx                   1/1     Running   0          37m
etcd-lin-1k8w1dv-vmh                       1/1     Running   0          38m
kube-apiserver-lin-1k8w1dv-vmh             1/1     Running   0          38m
kube-controller-manager-lin-1k8w1dv-vmh    1/1     Running   0          38m
kube-proxy-9hkns                           1/1     Running   0          37m
kube-scheduler-lin-1k8w1dv-vmh             1/1     Running   0          38m

kubectl get pods-n kube系统的输出是什么?calico吊舱正在kube系统名称空间中运行?不,它没有运行,它说:calico-kube-controllers-5b644bc49c-w5cvq 0/1 Pending calico-node-fq22h 0/1 Init:ImagePullBackOff警戒线也在挂起。kubectl能否描述和记录calico控制器和calico节点吊舱上的kubectl日志?您有权从docker repo外部下载印花布图像吗?这是什么--image repository=someserver?--image repository=someserver是我的内部repo服务器,我们有代理和防火墙,所以我们设法使用内部repo,这适用于部署docker映像。描述calico pod说:-拉取映像“calico/cni:v3.11.2”-拉取映像“calico/cni:v3.11.2”失败:rpc错误:代码=未知描述=守护进程的错误响应:Get:net/http:在等待连接时取消请求(在等待标头时超过客户端超时)-退出拉取映像“calico/cni:v3.11.2”-错误:ErrImagePull-错误:ImagePullBackOff@Albz是的,看起来主要的问题是它不能拉
calico/cni:v3.11.2
image。将其添加到您的本地回购协议中,然后再试一次,如果您仍然面临问题,请告诉我!好的,我设法从我的私有repo部署calico节点。但它仍然被奇怪的错误所困扰:pod_workers.go:191]错误同步pod cec2f72b-844a-4d6b-8606-3AF06D4A36D(“印花布节点-f4xzh_kube-system(cec2f72b-844a-4d6b-8606-3AF06D4A36D)”),跳过:无法为“升级ipam”启动容器,使用图像回退:“回退图像\”私人回购:10000/calico/cni:v3.11.2 \“并停留在Init:errimagepull您是否真的在您的私人回购中添加了印花布/cni:3.11.2?因为错误似乎是一样的,但现在它说它无法从“private repo:10000/calico/cni:v3.11.2\”中提取映像。您在网络中使用代理吗??
sudo kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-5644fb7cf6-qkf47   1/1     Running   0          11s
calico-node-mkcsr                          1/1     Running   0          21m
coredns-7fb8cdf968-bgqvj                   1/1     Running   0          37m
coredns-7fb8cdf968-v85jx                   1/1     Running   0          37m
etcd-lin-1k8w1dv-vmh                       1/1     Running   0          38m
kube-apiserver-lin-1k8w1dv-vmh             1/1     Running   0          38m
kube-controller-manager-lin-1k8w1dv-vmh    1/1     Running   0          38m
kube-proxy-9hkns                           1/1     Running   0          37m
kube-scheduler-lin-1k8w1dv-vmh             1/1     Running   0          38m