問題1:K8S集群服務訪問失敗?
原因分析:證書不能被識別,其原因為:自定義證書,過期等。
解決方法:更新證書即可。
問題2:K8S集群服務訪問失敗?
curl: (7) Failed connect to 10.103.22.158:3000; Connection refused
原因分析:端口映射錯誤,服務正常工作,但不能提供服務。
解決方法:刪除svc,重新映射端口即可。
kubectl delete svc nginx-deployment
問題3:K8S集群服務暴露失敗?
Error from server (AlreadyExists): services “nginx-deployment” already exists
原因分析:該容器已暴露服務了。
解決方法:刪除svc,重新映射端口即可。
問題4:外網無法訪問K8S集群提供的服務?**
原因分析:K8S集群的type為ClusterIP,未將服務暴露至外網。
解決方法:修改K8S集群的type為NodePort即可,于是可通過所有K8S集群節點訪問服務。
kubectl edit svc nginx-deployment
問題5:pod狀態為ErrImagePull?
readiness-httpget-pod 0/1 ErrImagePull 0 10s
原因分析:image無法拉取;
解決方法:更換鏡像即可。
問題6:創建init C容器后,其狀態不正常?
NAME READY STATUS RESTARTS AGEmyapp-pod 0/1 Init:0/2 0 20s
原因分析:查看日志發現,pod一直出于初始化中;然后查看pod詳細信息,定位pod創建失敗的原因為:初始化容器未執行完畢。
Error from server (BadRequest): container “myapp-container” in pod “myapp-pod” is waiting to start: PodInitializing
waiting for myservice
Server: 10.96.0.10Address: 10.96.0.10:53
** server can‘t find myservice.default.svc.cluster.local: NXDOMAIN
*** Can’t find myservice.svc.cluster.local: No answer*** Can‘t find myservice.cluster.local: No answer*** Can’t find myservice.default.svc.cluster.local: No answer*** Can‘t find myservice.svc.cluster.local: No answer*** Can’t find myservice.cluster.local: No answer
解決方法:創建相關service,將SVC的name寫入K8S集群的coreDNS服務器中,于是coreDNS就能對POD的initC容器執行過程中的域名解析了。
kubectl apply -f myservice.yaml
NAME READY STATUS RESTARTS AGE
myapp-pod 0/1 Init:1/2 0 27mmyapp-pod 0/1 PodInitializing 0 28mmyapp-pod 1/1 Running 0 28m
問題7:探測存活pod狀態為CrashLoopBackOff?
原因分析:鏡像問題,導致容器重啟失敗。
解決方法:更換鏡像即可。
問題8:POD創建失敗?
readiness-httpget-pod 0/1 Pending 0 0sreadiness-httpget-pod 0/1 Pending 0 0sreadiness-httpget-pod 0/1 ContainerCreating 0 0sreadiness-httpget-pod 0/1 Error 0 2sreadiness-httpget-pod 0/1 Error 1 3sreadiness-httpget-pod 0/1 CrashLoopBackOff 1 4sreadiness-httpget-pod 0/1 Error 2 15sreadiness-httpget-pod 0/1 CrashLoopBackOff 2 26sreadiness-httpget-pod 0/1 Error 3 37sreadiness-httpget-pod 0/1 CrashLoopBackOff 3 52sreadiness-httpget-pod 0/1 Error 4 82s
原因分析:鏡像問題導致容器無法啟動。
解決方法:更換鏡像。
問題9:POD的ready狀態未進入?
readiness-httpget-pod 0/1 Running 0 116s
原因分析:POD的執行命令失敗,無法獲取資源。
解決方法:進入容器內部,創建yaml定義的資源
問題10:pod創建失敗?
原因分析:yml文件內容出錯—-使用中文字符;
解決方法:修改myregistrykey內容即可。
11、kube-flannel-ds-amd64-ndsf7插件pod的status為Init:0/1?
排查思路:kubectl -n kube-system describe pod kube-flannel-ds-amd64-ndsf7 #查詢pod描述信息;
原因分析:k8s-slave1節點拉取鏡像失敗。
解決方法:登錄k8s-slave1,重啟docker服務,手動拉取鏡像。
k8s-master節點,重新安裝插件即可。
kubectl create -f kube-flannel.yml;kubectl get nodes
12、K8S創建服務status為ErrImagePull?
排查思路:
kubectl describe pod test-nginx
原因分析:拉取鏡像名稱問題。
解決方法:刪除錯誤pod;重新拉取鏡像;
kubectl delete pod test-nginx;kubectl run test-nginx --image=10.0.0.81:5000/nginx:alpine
13、不能進入指定容器內部?
原因分析:yml文件comtainers字段重復,導致該pod沒有該容器。
解決方法:去掉yml文件中多余的containers字段,重新生成pod。
14、創建PV失敗?
原因分析:pv的name字段重復。
解決方法:修改pv的name字段即可。
15、pod無法掛載PVC?
原因分析:pod無法掛載PVC。
accessModes與可使用的PV不一致,導致無法掛載PVC,由于只能掛載大于1G且accessModes為RWO的PV,故只能成功創建1個pod,第2個pod一致pending,按序創建時則第3個pod一直未被創建;
解決方法:修改yml文件中accessModes或PV的accessModes即可。
16、問題:pod使用PV后,無法訪問其內容?
原因分析:nfs卷中沒有文件或權限不對。
解決方法:在nfs卷中創建文件并授予權限。
17、查看節點狀態失敗?
Error from server (NotFound): the server could not find the requested resource (get services http)
原因分析:沒有heapster服務。
解決方法:安裝promethus監控組件即可。
18、pod一直處于pending’狀態?
原因分析:由于已使用同樣鏡像發布了pod,導致無節點可調度。
解決方法:刪除所有pod后部署pod即可。
19、helm安裝組件失敗?
[root@k8s-master01 hello-world]# helm install
Error: This command needs 1 argument: chart nam
[root@k8s-master01 hello-world]# helm install 。/Error: no Chart.yaml exists in directory “/root/hello-world”
原因分析:文件名格式不對。
解決方法:mv chart.yaml Chart.yaml
責任編輯:haq
-
容器
+關注
關注
0文章
500瀏覽量
22194 -
代碼
+關注
關注
30文章
4857瀏覽量
69528
原文標題:這些 K8S 日常故障處理集錦,運維請收藏~
文章出處:【微信號:gh_3980db2283cd,微信公眾號:開關電源芯片】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
搭建k8s需要買幾臺云主機?
k8s和docker區別對比,哪個更強?
k8s微服務架構就是云原生嗎?兩者是什么關系
混合云部署k8s集群方法有哪些?
k8s可以部署私有云嗎?私有云部署全攻略
k8s云原生開發要求

k8s容器啟動失敗的常見原因及解決辦法
云服務器部署k8s需要什么配置?
納尼?自建K8s集群日志收集還能通過JMQ保存到JES
常用的k8s容器網絡模式有哪些?
K8S集群中使用JDOS KMS服務對敏感數據安全加密

K8S學習教程三:在PetaExpress KubeSphere 容器部署 Wiki 系統 wiki.js 并啟用中文全文檢索

K8S學習教程(二):在 PetaExpress KubeSphere容器平臺部署高可用 Redis 集群

K8S學習教程一:使用PetaExpress云服務器安裝Minikube 集群

評論