首页 > 其他分享 >K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff

时间:2023-09-12 14:02:56浏览次数:47  
标签:readiness httpget 集群 Error pod K8S

问题1:K8S集群服务访问失败?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_02

原因分析:证书不能被识别,其原因为:自定义证书,过期等。

解决方法:更新证书即可。

问题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

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_03

原因分析:image无法拉取;

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_04

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_05

解决方法:更换镜像即可。

问题6:创建init C容器后,其状态不正常?

NAME READY STATUS RESTARTS AGE
myapp-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


K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_06

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_07

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_08

waiting for myservice

Server: 10.96.0.10
Address: 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


K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_09

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_10

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_11

NAME READY STATUS RESTARTS AGE

myapp-pod 0/1 Init:1/2 0 27m
myapp-pod 0/1 PodInitializing 0 28m
myapp-pod 1/1 Running 0 28m


K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_12

问题7:探测存活pod状态为CrashLoopBackOff?

原因分析:镜像问题,导致容器重启失败。

解决方法:更换镜像即可。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_13

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_14

问题8:POD创建失败?

readiness-httpget-pod 0/1 Pending 0 0s
readiness-httpget-pod 0/1 Pending 0 0s
readiness-httpget-pod 0/1 ContainerCreating 0 0s
readiness-httpget-pod 0/1 Error 0 2s
readiness-httpget-pod 0/1 Error 1 3s
readiness-httpget-pod 0/1 CrashLoopBackOff 1 4s
readiness-httpget-pod 0/1 Error 2 15s
readiness-httpget-pod 0/1 CrashLoopBackOff 2 26s
readiness-httpget-pod 0/1 Error 3 37s
readiness-httpget-pod 0/1 CrashLoopBackOff 3 52s
readiness-httpget-pod 0/1 Error 4 82s

原因分析:镜像问题导致容器无法启动。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_15

解决方法:更换镜像。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_16

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_17

问题9:POD的ready状态未进入?

readiness-httpget-pod   0/1     Running   0          116s

原因分析:POD的执行命令失败,无法获取资源。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_18

解决方法:进入容器内部,创建yaml定义的资源

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_19

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_20

问题10:pod创建失败?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_21

原因分析:yml文件内容出错—-使用中文字符;

解决方法:修改myregistrykey内容即可。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_22

11、kube-flannel-ds-amd64-ndsf7插件pod的status为Init:0/1?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_23

排查思路:kubectl -n kube-system describe pod kube-flannel-ds-amd64-ndsf7 #查询pod描述信息;

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_24

原因分析:k8s-slave1节点拉取镜像失败。

解决方法:登录k8s-slave1,重启docker服务,手动拉取镜像。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_25

k8s-master节点,重新安装插件即可。

kubectl create -f kube-flannel.yml;kubectl get nodes

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_26

12、K8S创建服务status为ErrImagePull?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_27

排查思路:

kubectl describe pod test-nginx

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_28

原因分析:拉取镜像名称问题。

解决方法:删除错误pod;重新拉取镜像;

kubectl delete pod test-nginx;kubectl run test-nginx --image=10.0.0.81:5000/nginx:alpine

13、不能进入指定容器内部?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_29

原因分析:yml文件comtainers字段重复,导致该pod没有该容器。

解决方法:去掉yml文件中多余的containers字段,重新生成pod。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_30

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_31

14、创建PV失败?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_32

原因分析:pv的name字段重复。

解决方法:修改pv的name字段即可。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_33

15、pod无法挂载PVC?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_34

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_35

原因分析:pod无法挂载PVC。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_36

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_37

accessModes与可使用的PV不一致,导致无法挂载PVC,由于只能挂载大于1G且accessModes为RWO的PV,故只能成功创建1个pod,第2个pod一致pending,按序创建时则第3个pod一直未被创建;

解决方法:修改yml文件中accessModes或PV的accessModes即可。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_38

16、问题:pod使用PV后,无法访问其内容?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_39

原因分析:nfs卷中没有文件或权限不对。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_40

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_41

解决方法:在nfs卷中创建文件并授予权限。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_42


17、查看节点状态失败?

Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)

原因分析:没有heapster服务。

解决方法:安装promethus监控组件即可。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_43

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_44

18、pod一直处于pending’状态?

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_nginx_45

原因分析:由于已使用同样镜像发布了pod,导致无节点可调度。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_46

解决方法:删除所有pod后部署pod即可。

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_字段_47

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

K8S集群常见问题总结 集群服务访问失败 集群服务访问失败 集群服务暴露失败 外网无法访问K8S集群提供的服务pod状态ErrImagePull pod状态为CrashLoopBackOff_解决方法_48

- END -

标签:readiness,httpget,集群,Error,pod,K8S
From: https://blog.51cto.com/u_64214/7445095

相关文章

  • K8s kubectl管理工具使用技巧
    kubectl是K8s官方附带的命令行工具,可以方便的操作K8s集群.这篇文章主要介绍一些kubectl的别样用法,希望读者有基础的K8s使用经验.打印当前使用的API#kubectl的主要作用就是与ApiServer进行交互,而交互的过程,我们可以通过下面的方式来打印,#这个命令尤其适合调试自己的a......
  • Kubernetes 集群的优化 节点配额和内核参数调整 自动增加etcd节点 Kube APIServer 配
    一、节点配额和内核参数调整对于公有云上的Kubernetes集群,规模大了之后很容器碰到配额问题,需要提前在云平台上增大配额。这些需要增大的配额包括:虚拟机个数vCPU个数内网IP地址个数公网IP地址个数安全组条数路由表条数持久化存储大小参考gce随着node节点的增加master节点的配......
  • ElasticSearch 8.6集群搭建过程​
    ElasticSearch8.6集群搭建过程一、系统信息操作系统版本:CentOSLinuxrelease8.4.2105elasticsearch版本:8.6.1机器信息:主机名ip地址CPU内存(G)数据盘es01192.168.205.251632/data/(500G)es02192.168.205.261632/data/(500G)es03192.168.205.271632/data/(500G)二、操作......
  • k8s集群-spring cloud 集成seata的时候:can not register RM,err:can not connect to s
    背景说明seate和其他微服务在k8s集群中部署,都在同一个命名空间。注册到nacos的同一个命名空间seate是官方提供,无改动k8s中部署情况:报错提示core服务的报错内容:2023-09-1211:07:06.524ERROR7---[eoutChecker_2_1]i.s.c.r.netty.NettyClientChannelManager:0101c......
  • mysql - 集群
    概念mysql集群大致有这几种应用:单点写入,多点同时读;单点写入,另一个备用;多点同时写,允许这么做,但是不推荐,冲突不好解决。基本原理主库(master)在事务提交时,将数据的变化事件(events)记录在二进制日志文件(binlog)中。主库推送“binlog中的日志事件”到从库的“中继日志(relay......
  • 使用mysql-proxy代理mysql集群
    本文系统环境为:CentOSLinuxrelease7.9.2009(Core)安装mysql-proxy下载地址:dev.mysql.com/downloads/m… 服务信息 markdown复制代码mysql-proxy:192.168.1.113:4040//目标配置信息已搭建mysql数据库(双主):192.168.1.113:3306192.168.1.113:3307......
  • 在VMware虚拟机集群上部署HDFS集群
    本篇博客跟大家分享一下如何在VMware虚拟机集群上部署HDFS集群一·、下载hadoop安装包进入官网:https://hadoop.apache.org 下载hadoop安装包由于ApacheHadoop是国外网址,下载安装包对于网络要求较高 二、上传压缩包,进行解压在进行解压之前,保证自己已经完成vmwa的黄静配置 三、......
  • 创建K8S开机自启动脚本
    在Kubernetes(K8s)中,要实现开机自启动应用,通常会使用一个名为kubelet的代理来启动你的应用。以下是一个简单的示例脚本,假设你的应用是一个名为myapp的Docker镜像。首先,创建一个名为myapp-deployment.yaml的Kubernetes部署配置文件:yamlapiVersion:apps/v1kind:Deploymentmetadata:......
  • 关于Kubernetes-v1.23-pod-生命周期-postStart-preStop-terminationGracePeriodSecond
    我们在一个pod的yaml配置文件中,有时会看到,terminationGracePeriodSeconds选项,与containers:同级,一般可以放于spec:下面即可是当pod,变为删除的状态后,会给pod一个宽限期,让pod去执行一些清理或者销毁操作另外还有两个选项,postStart,preStop,这两个是位于lifecycle,属于pod生命周期......
  • k8s优雅停服
    在应用程序的整个生命周期中,正在运行的pod会由于多种原因而终止。在某些情况下,Kubernetes会因用户输入(例如更新或删除Deployment时)而终止pod。在其他情况下,Kubernetes需要释放给定节点上的资源时会终止pod。无论哪种情况,Kubernetes都允许在pod中运行的容器在可配置的时......