Kubernetes中Nginx服务启动失败如何排查(kubesphere部署nginx)

Kubernetes中Nginx服务启动失败如何排查(kubesphere部署nginx)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-02-26
文章简介

pod节点启动失败,nginx服务无法正常访问,服务状态显示为。[root@m1~]#kubectlgetpods NAMEREADYSTATUSRESTARTSAGE nginx-f897

2025阿里云双十一服务器活动

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.Kubernetes中Nginx服务启动失败如何排查,kubesphere部署nginx

[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服务启动失败如何排查的详细内容,更多请关注主机测评网其它相关文章!

标签:
适用于成长型企业的八个最佳SaaS解决方案(成长型企业案例)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!