Kubernetes中配置没有问题的pod却一直出现CrashLoopBackOff的报错原因及解决办法

这里记录下一次k8s里解决CrashLoopBackOff的思路和过程。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

问题现象

在一次测试ConfigMap的过程中,我想起一个单容器的pod,简单的打印出容器内所有的环境变量,以验证ConfigMap的传递。结果pod起来以后一直出现CrashLoopBackOff的状态。

这里为了抽离出问题的本质,去掉干扰项,将pod的生成yaml文件简化如下

apiVersion: v1
kind: Pod
metadata:
  name: configmap-pod-1
spec:
  containers:
    - name: cm-container-1
      image: alpine
      imagePullPolicy: IfNotPresent
      command: [ "/bin/sh", "-c", "env" ]

创建pod

[root@k8s-master ~]# kubectl apply -f test.yaml
pod/configmap-pod-1 created

但是pod却一直是如下状态

[root@k8s-master ~]# kubectl get pod configmap-pod-1 -o wide
NAME              READY   STATUS             RESTARTS   AGE   IP            NODE        NOMINATED NODE   READINESS GATES
configmap-pod-1   0/1     CrashLoopBackOff   3          68s   10.244.1.90   k8s-node1   <none>           <none>

不仅显示CrashLoopBackOff状态,还一直重启

问题分析

通常pod出现这种出错并不停重启的现象,归纳起来有以下几种可能:

  • 容器内应用一直在崩溃
  • yaml文件中对pod的一些字段配置有误
  • k8s集群的部署有问题

但是我这里一条都不满足。这个集群一直运行着很多应用都平安无事,说明集群本身没事。这个容器的镜像只是官方的alpine,除了额外运行了一条she

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值