pod节点启动失败,nginx服务无法正常访问,服务状态显示为。
[root@m1~]#kubectlgetpods
NAMEREADYSTATUSRESTARTSAGE
nginx-f89759699-cgjgp0/1ImagePullBackOff0103m
查看nginx服务的Pod节点详细信息。
[root@m1~]#kubectldescribepodnginx-f89759699-cgjgp
Name:nginx-f89759699-cgjgp
StartTime:Fri,10Mar202308:40:33+0800
pod-template-hash=f89759699
ControlledBy:ReplicaSet/nginx-f89759699
/var/run/secrets/kubernetes.io/serviceaccountfromdefault-token-zk8sj(ro)
Type:Secret(avolumepopulatedbyaSecret)
SecretName:default-token-zk8sj
Node-Selectors:<none>
Tolerations:node.kubernetes.io/not-ready:NoExecuteop=Existsfor300s
node.kubernetes.io/unreachable:NoExecuteop=Existsfor300s
-------------------------
NormalBackOff57m(x179over100m)kubeletBack-offpullingimage"nginx"
NormalPulling7m33s(x22over100m)kubeletPullingimage"nginx"
WarningFailed2m30s(x417over100m)kubeletError:ImagePullBackOff
发现,获取镜像失败。可能是由于Docker服务引起的。
于是,检查Docker是否正常启动
systemctlstatusdocker
发现,docker服务启动失败,手动尝试重新启动。
systemctlrestartdocker
重启docker服务失败,出现如下报错信息。
[root@m1~]#systemctlrestartdocker
Jobfordocker.servicefailedbecausethecontrolprocessexitedwitherrorcode.
See"systemctlstatusdocker.service"and"journalctl-xe"fordetails.
执行命令失效。
接着,当执行命令时,发现未能连接到Dockerdaemon
Client:DockerEngine-Community
Built:MonJun623:03:112022
CannotconnecttotheDockerdaemonatunix:///var/run/docker.sock.Isthedockerdaemonrunning?
于是,再次通过执行命令,查看docker服务未能启动,阅读输出报错信息,如下所示。
[root@m1~]#systemctlstatusdocker
●docker.service-DockerApplicationContainerEngine
Loaded:loaded(/usr/lib/systemd/system/docker.service;enabled;vendorpreset:disabled)
Active:failed(Result:exit-code)sinceFri2023-03-1010:28:16CST;4min35sago
Docs:https://docs.docker.com
MainPID:2221(code=exited,status=1/FAILURE)
Mar1010:28:13m1systemd[1]:docker.service:Mainprocessexited,code=exited,status=1/FAILURE
Mar1010:28:13m1systemd[1]:docker.service:Failedwithresult'exit-code'.
Mar1010:28:13m1systemd[1]:FailedtostartDockerApplicationContainerEngine.
Mar1010:28:16m1systemd[1]:docker.service:ServiceRestartSec=2sexpired,schedulingrestart.
Mar1010:28:16m1systemd[1]:docker.service:Scheduledrestartjob,restartcounterisat3.
Mar1010:28:16m1systemd[1]:StoppedDockerApplicationContainerEngine.
Mar1010:28:16m1systemd[1]:docker.service:Startrequestrepeatedtooquickly.
Mar1010:28:16m1systemd[1]:docker.service:Failedwithresult'exit-code'.
Mar1010:28:16m1systemd[1]:FailedtostartDockerApplicationContainerEngine.
[root@m1~]#
通过上述输出显示,Docker服务进程的启动失败,状态为。
接下来,尝试通过以下步骤来排查和解决问题:
1查看Docker服务日志:使用以下命令查看Docker服务日志,以便更详细地了解失败原因。
sudojournalctl-udocker.service
2通过输出Ddocker日志分析,提取到了相关报错信息片段,发现是配置daemon中的配置文件出错导致的。
Mar1010:20:17m1systemd[1]:StartingDockerApplicationContainerEngine...
Mar1010:20:17m1dockerd[1572]:unabletoconfiguretheDockerdaemonwithfile/etc/docker/daemon.json:invalidcharacter'"'afterobjectkey:valuepair
Mar1010:20:17m1systemd[1]:docker.service:Mainprocessexited,code=exited,status=1/FAILURE
Mar1010:20:17m1systemd[1]:docker.service:Failedwithresult'exit-code'.
Mar1010:20:17m1systemd[1]:FailedtostartDockerApplicationContainerEngine.
Mar1010:20:19m1systemd[1]:docker.service:ServiceRestartSec=2sexpired,schedulingrestart.
Mar1010:20:19m1systemd[1]:docker.service:Scheduledrestartjob,restartcounterisat2.
Mar1010:20:19m1systemd[1]:StoppedDockerApplicationContainerEngine.
[root@m1~]#cat/etc/docker/daemon.json
#设置Docker镜像的注册表镜像源为阿里云镜像源。
"registry-mirrors":["https://w2kavmmf.mirror.aliyuncs.com"]
#指定Docker守护进程使用systemd作为cgroupdriver。
"exec-opts":["native.cgroupdriver=systemd"]
}
咋一看,配置信息没有什么问题,都是正确的,但仔细一看,就会发现应该在选项的结尾添加逗号。犯了缺少逗号()导致的语法错误,终于找到了问题根源。
[root@m1~]#cat/etc/docker/daemon.json
"registry-mirrors":["https://w2kavmmf.mirror.aliyuncs.com"],
"exec-opts":["native.cgroupdriver=systemd"]
[root@m1~]#cat/etc/docker/daemon.json
"registry-mirrors":["https://w2kavmmf.mirror.aliyuncs.com"],
"exec-opts":["native.cgroupdriver=systemd"]
}
按下:wq报错退出。
4重新加载系统并重新启动Docker服务
systemctlstatusdocker
5检查docker版本信息是否输出正常
-bash:docket:commandnotfound
Client:DockerEngine-Community
Built:MonJun623:03:112022
Server:DockerEngine-Community
APIversion:1.41(minimumversion1.12)
Built:MonJun623:01:292022
GitCommit:10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
GitCommit:v1.1.2-0-ga916309
GitCommit:de40ad0
[root@m1~]#dockerinfo
app:DockerApp(DockerInc.,v0.9.1-beta3)
buildx:DockerBuildx(DockerInc.,v0.8.2-docker)
scan:DockerScan(DockerInc.,v0.17.0)
Network:bridgehostipvlanmacvlannulloverlay
Log:awslogsfluentdgcplogsgelfjournaldjson-filelocallogentriessplunksyslog
Runtimes:io.containerd.runc.v2io.containerd.runtime.v1.linuxrunc
containerdversion:10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runcversion:v1.1.2-0-ga916309
KernelVersion:4.18.0-372.9.1.el8.x86_64
OperatingSystem:RockyLinux8.6(GreenObsidian)
ID:4YIS:FHSB:YXRI:CED5:PJSJ:EAS2:BCR3:GJJF:FDPK:EDJH:DVKU:AIYJ
DockerRootDir:/var/lib/docker
Registry:https://index.docker.io/v1/
https://w2kavmmf.mirror.aliyuncs.com/
LiveRestoreEnabled:false
至此,Docker服务重启成功,pod节点恢复正常,Nginx服务能够正常访问。
[root@m1~]#kubectlgetpods
NAMEREADYSTATUSRESTARTSAGE
nginx-f89759699-cgjgp1/1Running0174m
查看pod详细信息,显示正常。
[root@m1~]#kubectldescribepodnginx-f89759699-cgjgp
Name:nginx-f89759699-cgjgp
StartTime:Fri,10Mar202308:40:33+0800
pod-template-hash=f89759699
ControlledBy:ReplicaSet/nginx-f89759699
ContainerID:docker://88bdc2bfa592f60bf99bac2125b0adae005118ae8f2f271225245f20b7cfb3c8
ImageID:docker-pullable://nginx@sha256:aa0afebbb3cfa473099a62c4b32e9b3fb73ed23f2a75a65ce1d4b4f55a5c2ef2
Started:Fri,10Mar202310:37:42+0800
/var/run/secrets/kubernetes.io/serviceaccountfromdefault-token-zk8sj(ro)
Type:Secret(avolumepopulatedbyaSecret)
SecretName:default-token-zk8sj
Node-Selectors:<none>
Tolerations:node.kubernetes.io/not-ready:NoExecuteop=Existsfor300s
node.kubernetes.io/unreachable:NoExecuteop=Existsfor300s
-------------------------
NormalBackOff58m(x480over171m)kubeletBack-offpullingimage"nginx"
[root@m1~]#
以上就是Kubernetes中Nginx服务启动失败如何排查的详细内容,更多请关注主机测评网其它相关文章!
本文来源:国外服务器--Kubernetes中Nginx服务启动失败如何排查(kubesphere部署nginx)
本文地址:https://www.idcbaba.com/guowai/4015.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



