[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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。
面试经验技巧篇
- 经验技巧1 如何巧妙地回答面试官的问题
- 经验技巧2 如何回答技术性的问题
- 经验技巧3 如何回答非技术性问题
- 经验技巧4 如何回答快速估算类问题
- 经验技巧5 如何回答算法设计问题
- 经验技巧6 如何回答系统设计题
- 经验技巧7 如何解决求职中的时间冲突问题
- 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
- 经验技巧9 在被企业拒绝后是否可以再申请
- 经验技巧10 如何应对自己不会回答的问题
- 经验技巧11 如何应对面试官的“激将法”语言
- 经验技巧12 如何处理与面试官持不同观点这个问题
- 经验技巧13 什么是职场暗语
面试真题篇
- 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
- 真题详解2 某知名社交平台软件工程师笔试题
- 真题详解3 某知名安全软件服务提供商软件工程师笔试题
- 真题详解4 某知名互联网金融企业软件工程师笔试题
- 真题详解5 某知名搜索引擎提供商软件工程师笔试题
- 真题详解6 某初创公司软件工程师笔试题
- 真题详解7 某知名游戏软件开发公司软件工程师笔试题
- 真题详解8 某知名电子商务公司软件工程师笔试题
- 真题详解9 某顶级生活消费类网站软件工程师笔试题
- 真题详解10 某知名门户网站软件工程师笔试题
- 真题详解11 某知名互联网金融企业软件工程师笔试题
- 真题详解12 国内某知名网络设备提供商软件工程师笔试题
- 真题详解13 国内某顶级手机制造商软件工程师笔试题
- 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
- 真题详解15 某著名社交类上市公司软件工程师笔试题
- 真题详解16 某知名互联网公司软件工程师笔试题
- 真题详解17 某知名网络安全公司校园招聘技术类笔试题
- 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题
资料整理不易,点个关注再走吧
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
- 真题详解8 某知名电子商务公司软件工程师笔试题
- 真题详解9 某顶级生活消费类网站软件工程师笔试题
- 真题详解10 某知名门户网站软件工程师笔试题
- 真题详解11 某知名互联网金融企业软件工程师笔试题
- 真题详解12 国内某知名网络设备提供商软件工程师笔试题
- 真题详解13 国内某顶级手机制造商软件工程师笔试题
- 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
- 真题详解15 某著名社交类上市公司软件工程师笔试题
- 真题详解16 某知名互联网公司软件工程师笔试题
- 真题详解17 某知名网络安全公司校园招聘技术类笔试题
- 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题
[外链图片转存中…(img-qXzkWCkG-1712643839618)]
资料整理不易,点个关注再走吧
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!