kube-proxy的pod状态为containercreating处理方法和k8s创建pod状态为containercreating的处理方法

[root@worker-165 kubelet]# systemctl status kubelet

● kubelet.service - kubelet: The Kubernetes Node Agent

Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled)

Drop-In: /usr/lib/systemd/system/kubelet.service.d

└─10-kubeadm.conf

Active: active (running) since 一 2021-11-29 16:56:51 CST; 1h 31min ago

Docs: https://kubernetes.io/docs/

Main PID: 9321 (kubelet)

Tasks: 16

Memory: 47.6M

CGroup: /system.slice/kubelet.service

└─9321 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --network-plugin=cni --pod-infra-container-image=regis…

11月 29 17:57:06 worker-165 kubelet[9321]: time=“2021-11-29T17:57:06+08:00” level=info msg=“About to acquire host-wide IPAM lock.” source=“ipam_plugin.go:348”

11月 29 17:57:06 worker-165 kubelet[9321]: time=“2021-11-29T17:57:06+08:00” level=info msg=“Acquired host-wide IPAM lock.” source=“ipam_plugin.go:363”

11月 29 17:57:06 worker-165 kubelet[9321]: 2021-11-29 17:57:06.931 [INFO][47594] ipam.go 1410: Releasing all IPs with handle ‘k8s-pod-network.6d4fb99e7785f3b4018584c3e3a799b097e3b5b54ebe93131fd5cf5a8a8e5cae’

11月 29 17:57:06 worker-165 kubelet[9321]: 2021-11-29 17:57:06.943 [WARNING][47594] ipam_plugin.go 424: Asked to release address but it doesn’t exist. Ignoring ContainerID="6d4fb99e7785f3b4018584c3e3a799b097e3b5b54ebe93131fd5cf5a8…

11月 29 17:57:06 worker-165 kubelet[9321]: 2021-11-29 17:57:06.943 [INFO][47594] ipam_plugin.go 435: Releasing address using workloadID ContainerID=“6d4fb99e7785f3b4018584c3e3a799b097e3b5b54ebe93131fd5cf5a8a8e5cae” HandleID="k8s-p…

11月 29 17:57:06 worker-165 kubelet[9321]: 2021-11-29 17:57:06.943 [INFO][47594] ipam.go 1410: Releasing all IPs with handle ‘kube-system.calico-kube-controllers-78d6f96c7b-tqxp4’

11月 29 17:57:06 worker-165 kubelet[9321]: time=“2021-11-29T17:57:06+08:00” level=info msg=“Released host-wide IPAM lock.” source=“ipam_plugin.go:369”

11月 29 17:57:06 worker-165 kubelet[9321]: 2021-11-29 17:57:06.949 [INFO][47586] k8s.go 576: Teardown processing complete. ContainerID=“6d4fb99e7785f3b4018584c3e3a799b097e3b5b54ebe93131fd5cf5a8a8e5cae”

11月 29 17:57:07 worker-165 kubelet[9321]: I1129 17:57:07.119675 9321 pod_container_deletor.go:79] “Container not found in pod’s containers” containerID=“d6d7faa88f9cc1a5645540c9035a1cb0a472583c1d6ac23c9293bee77eb0f573”

11月 29 17:57:07 worker-165 kubelet[9321]: I1129 17:57:07.119765 9321 pod_container_deletor.go:79] “Container not found in pod’s containers” containerID=“ecab3db290102ab0d7a54510f30f957c0edc759cce0f176f2f40231ca3024b5d”

Hint: Some lines were ellipsized, use -l to show in full.

[root@worker-165 kubelet]#

kube-proxy的pod状态为containercreating说明及处理

======================================================================================================

原因


  • 出现这种问题肯定是,你的环境是内网,并且你导入init镜像的时候没有导入到containercreating状态这台主机上,如下,我就是没有导入init所需的镜像,导致这个报错的【外网环境不会出这种问题,是因为外网会自动下载所需镜像】

  • kube-proxy的pod状态是containercreating,原因只有一个,就是缺少镜像。

  • 我已经处理好了,所以现在环境一切正常,下面是异常状态信息【我手动改的,但是有问题以后,就是下面样子】

[root@master1-163 ~]# kubectl get pods -n kube-system -owide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

calico-kube-controllers-78d6f96c7b-nwbmt 1/1 Running 0 29m 10.244.139.67 worker-165

calico-node-nh977 1/1 Running 0 29m 192.168.59.162 master2-162

calico-node-s89tx 1/1 Running 0 29m 192.168.59.163 master1-163

calico-node-vt5dn 1/1 Running 0 29m 192.168.59.165 worker-165

coredns-545d6fc579-6l9xs 1/1 Running 0 6h19m 10.244.139.66 worker-165

coredns-545d6fc579-mrm2w 1/1 Running 0 6h19m 10.244.139.65 worker-165

kube-apiserver-master1-163 1/1 Running 1 6h19m 192.168.59.163 master1-163

kube-apiserver-master2-162 1/1 Running 1 5h20m 192.168.59.162 master2-162

kube-controller-manager-master1-163 1/1 Running 1 6h19m 192.168.59.163 master1-163

kube-controller-manager-master2-162 1/1 Running 1 5h20m 192.168.59.162 master2-162

kube-proxy-kp8p6 1/1 Running 1 5h20m 192.168.59.162 master2-162

kube-proxy-kqg72 1/1 Running 1 6h19m 192.168.59.163 master1-163

kube-proxy-nftgv 0/1 containercreating 0 88m 192.168.59.165 worker-165

kube-scheduler-master1-163 1/1 Running 1 6h19m 192.168.59.163 master1-163

kube-scheduler-master2-162 1/1 Running 1 5h20m 192.168.59.162 master2-162

[root@master1-163 ~]#

处理


  • 我在初始化集群的时候,只把所需镜像给master导入了,worker节点并没有导入相关镜像,所以解决方法就是,在 kube-proxy的pod状态为containercreating的所属主机上导入相关镜像即可

  • 如下,就是一套初始化master集群的时候所需的所有镜像

更多信息可以看我这篇博客哈:

【kubernetes】k8s集群的搭建安装详细说明【创建集群、加入集群、踢出集群、重置集群…】【含离线搭建方法】

看下面这部分内容

在这里插入图片描述

[root@worker-165 kubelet]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

calico/node v3.19.1 c4d75af7e098 6 months ago 168MB

calico/pod2daemon-flexvol v3.19.1 5660150975fb 6 months ago 21.7MB

calico/cni v3.19.1 5749e8b276f9 6 months ago 146MB

calico/kube-controllers v3.19.1 5d3d5ddc8605 6 months ago 60.6MB

registry.aliyuncs.com/google_containers/kube-apiserver v1.21.1 771ffcf9ca63 6 months ago 126MB

registry.aliyuncs.com/google_containers/kube-controller-manager v1.21.1 e16544fd47b0 6 months ago 120MB

registry.aliyuncs.com/google_containers/kube-proxy v1.21.1 4359e752b596 6 months ago 131MB

registry.aliyuncs.com/google_containers/kube-scheduler v1.21.1 a4183b88f6e6 6 months ago 50.6MB

registry.aliyuncs.com/google_containers/kube-apiserver v1.21.0 4d217480042e 7 months ago 126MB

registry.aliyuncs.com/google_containers/kube-proxy v1.21.0 38ddd85fe90e 7 months ago 122MB

registry.aliyuncs.com/google_containers/kube-controller-manager v1.21.0 09708983cc37 7 months ago 120MB

registry.aliyuncs.com/google_containers/kube-scheduler v1.21.0 62ad3129eca8 7 months ago 50.6MB

registry.aliyuncs.com/google_containers/pause 3.4.1 0f8457a4c2ec 10 months ago 683kB

registry.aliyuncs.com/google_containers/coredns/coredns v1.8.0 296a6d5035e2 13 months ago 42.5MB

registry.aliyuncs.com/google_containers/etcd 3.4.13-0 0369cf4303ff 15 months ago 253MB

registry.cn-hangzhou.aliyuncs.com/kube-iamges/dashboard v2.0.0-beta8 eb51a3597525 24 months ago 90.8MB

registry.cn-hangzhou.aliyuncs.com/kube-iamges/metrics-scraper v1.0.1 709901356c11 2 years ago 40.1MB

[root@worker-165 kubelet]#

学会用kubectl describe pod定位具体异常问题

==============================================================================================

  • 注意,凡事pod状态问题有关,我们都可以使用这个方法来确定问题,这里面有报错信息,基本上可以获取所有pod异常问题的,

  • 也就是说,如果k8s有问题,我们可以先看k8s日志,方式如下

先用kubectl get pods --all-namespaces -owide查看问题pod,然后用kubectl describe pod pod_name -n kube-system来查看日志,一般情况下,我们都是可以通过这个方式来获取到报错原因的【一波情况下哈,并非绝对】

  • 如下示例

[root@master1-163 ~]# kubectl get pods --all-namespaces -owide

NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

kube-system calico-kube-controllers-76d885cfc8-qct94 0/1 ContainerCreating 0 3s worker-165

kube-system calico-node-7kz7f 0/1 Init:RunContainerError 0 3s 192.168.59.165 worker-165

kube-system calico-node-gj8xr 0/1 Init:RunContainerError 0 3s 192.168.59.162 master2-162

kube-system calico-node-kqftj 0/1 Init:RunContainerError 0 3s 192.168.59.163 master1-163

kube-system coredns-545d6fc579-6l9xs 1/1 Running 0 5h46m 10.244.139.66 worker-165

kube-system coredns-545d6fc579-mrm2w 1/1 Running 0 5h46m 10.244.139.65 worker-165

kube-system kube-apiserver-master1-163 1/1 Running 1 5h47m 192.168.59.163 master1-163

kube-system kube-apiserver-master2-162 1/1 Running 1 4h47m 192.168.59.162 master2-162

kube-system kube-controller-manager-master1-163 1/1 Running 1 5h47m 192.168.59.163 master1-163

kube-system kube-controller-manager-master2-162 1/1 Running 1 4h47m 192.168.59.162 master2-162

kube-system kube-proxy-kp8p6 1/1 Running 1 4h47m 192.168.59.162 master2-162

kube-system kube-proxy-kqg72 1/1 Running 1 5h46m 192.168.59.163 master1-163

kube-system kube-proxy-nftgv 1/1 Running 0 56m 192.168.59.165 worker-165

kube-system kube-scheduler-master1-163 1/1 Running 1 5h47m 192.168.59.163 master1-163

kube-system kube-scheduler-master2-162 1/1 Running 1 4h47m 192.168.59.162 master2-162

[root@master1-163 ~]#

[root@master1-163 ~]# kubectl describe pod calico-node-gj8xr -n kube-system

Name: calico-node-gj8xr

Namespace: kube-system

Priority: 2000001000

Priority Class Name: system-node-critical

Node: master2-162/192.168.59.162

Start Time: Mon, 29 Nov 2021 17:53:22 +0800

Labels: controller-revision-hash=c4646b5c6

k8s-app=calico-node

pod-template-generation=1

Annotations: scheduler.alpha.kubernetes.io/critical-pod:

Status: Pending

IP: 192.168.59.162

IPs:

IP: 192.168.59.162

Controlled By: DaemonSet/calico-node

Init Containers:

upgrade-ipam:

Container ID: docker://298fecda934316eb4fa7e0e0e93beb1bd818c357343afa3de198468ec84cfe33

Image: calico/cni:v3.19.1

Image ID: docker://sha256:5749e8b276f9b5aea2683d8a0d59afd05a2be478f5092fbaadc4715f4db76e5a

Port:

Host Port:

Command:

/opt/cni/bin/calico-ipam

-upgrade

State: Terminated

Reason: Completed

Exit Code: 0

Started: Mon, 29 Nov 2021 17:53:23 +0800

Finished: Mon, 29 Nov 2021 17:53:23 +0800

Ready: True

Restart Count: 0

Environment:

KUBERNETES_NODE_NAME: (v1:spec.nodeName)

CALICO_NETWORKING_BACKEND: <set to the key ‘calico_backend’ of config map ‘calico-config’> Optional: false

Mounts:

/host/opt/cni/bin from cni-bin-dir (rw)

/var/lib/cni/networks from host-local-net-dir (rw)

/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xz2nm (ro)

install-cni:

Container ID: docker://1389feae63f96f81eba7175cd71597e7456a7180e9b71f99265083822fad1303

Image: calico/cni:v3.19.1

Image ID: docker://sha256:5749e8b276f9b5aea2683d8a0d59afd05a2be478f5092fbaadc4715f4db76e5a

Port:

Host Port:

Command:

/install-cni.sh

State: Waiting

Reason: CrashLoopBackOff

Last State: Terminated

Reason: ContainerCannotRun

Message: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: “/install-cni.sh”: stat /install-cni.sh: no such file or directory: unknown

Exit Code: 127

Started: Mon, 29 Nov 2021 17:54:07 +0800

Finished: Mon, 29 Nov 2021 17:54:07 +0800

Ready: False

Restart Count: 3

Environment:

CNI_CONF_NAME: 10-calico.conflist

CNI_NETWORK_CONFIG: <set to the key ‘cni_network_config’ of config map ‘calico-config’> Optional: false

KUBERNETES_NODE_NAME: (v1:spec.nodeName)

CNI_MTU: <set to the key ‘veth_mtu’ of config map ‘calico-config’> Optional: false

SLEEP: false

Mounts:

/host/etc/cni/net.d from cni-net-dir (rw)

/host/opt/cni/bin from cni-bin-dir (rw)

/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xz2nm (ro)

flexvol-driver:

Container ID:

Image: calico/pod2daemon-flexvol:v3.19.1

Image ID:

Port:

Host Port:

State: Waiting

Reason: PodInitializing

Ready: False

Restart Count: 0

Environment:

Mounts:

/host/driver from flexvol-driver-host (rw)

/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xz2nm (ro)

Containers:

calico-node:

Container ID:

Image: calico/node:v3.19.1

Image ID:

Port:

Host Port:

State: Waiting

Reason: PodInitializing

Ready: False

Restart Count: 0

Requests:

cpu: 250m

Liveness: exec [/bin/calico-node -felix-live -bird-live] delay=10s timeout=1s period=10s #success=1 #failure=6

Readiness: exec [/bin/calico-node -felix-ready -bird-ready] delay=0s timeout=1s period=10s #success=1 #failure=3

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
可以扫码获取!!(备注Java获取)**

img

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

[外链图片转存中…(img-ZXguvUMk-1712040002556)]

[外链图片转存中…(img-XxW2T38T-1712040002557)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值