pod-debug初始化容器

news/2025/3/16 12:30:13/

pod-debug初始化容器

上文,我们已经学习了如何配置初始化镜像,那么本文将带大家学习如何Debug初始化容器。

ps: 本文使用<pod-name> 来指代Pod的名称,使用<init-container-1><init-container-2> 来指代初始化容器的名称。

检查初始化容器的状态

执行命令,查看 Pod 的状态:

kubectl get pod <pod-name>    

例如,状态如果是 Init:1/2,则表明了两个初始化容器当中的一个已经成功执行:

NAME         READY     STATUS     RESTARTS   AGE
<pod-name>   0/1       Init:1/2   0          7s  

查看初始化容器的详情)查看初始化容器的详情

查看初始化容器的更多信息:

kubectl describe pod <pod-name> 

假设 Pod 包含两个初始化容器,显示结果可能如下所示:

Init Containers:<init-container-1>:Container ID:    ......State:           TerminatedReason:        CompletedExit Code:     0Started:       ...Finished:      ...Ready:           TrueRestart Count:   0...<init-container-2>:Container ID:    ......State:           WaitingReason:        CrashLoopBackOffLast State:      TerminatedReason:        ErrorExit Code:     1Started:       ...Finished:      ...Ready:           FalseRestart Count:   3

也可以直接读取 Pod 的 status.initContainerStatuses 字段,命令行如下所示:

kubectl get pod <pod-name> --template '{{.status.initContainerStatuses}}'

该命令将以 JSON 格式返回信息

查看初始化容器的日志

执行命令查看初始化容器的日志:

kubectl logs <pod-name> -c <init-container-1>  

理解 Pod 状态

如果 Pod 的状态以 Init: 开头,表示该 Pod 正在执行初始化容器。下表描述了 Debug 初始化容器的过程中,一些可能出现的 Pod 状态:

状态描述
Init:N/MPod 中包含 M 个初始化容器,其中 N 个初始化容器已经成功执行
Init:ErrorPod 中有一个初始化容器执行失败
Init:CrashLoopBackOffPod 中有一个初始化容器反复执行失败
PendingPod 还未开始执行初始化容器
PodInitializing or RunningPod 已经完成初始化容器的执行

http://www.ppmy.cn/news/53419.html

相关文章

改进YOLOv8/YOLOv5系列:创新必备,助力涨点。原创魔改注意力,动态通道注意力模块DyCAConv,带改进描述

动态通道注意力模块DyCAConv 1. 背景三、YOLOv5改进代码及加入方法1.YOLO5中添加:注意力代码四、YOLOv8改进代码及加入方法1.注册YOLOv8yaml文件四、测试涨点!1. 背景 在深度学习领域,尤其是计算机视觉任务中,神经网络需要捕捉图像中的多尺度特征以实现有效的特征表征。为…

echo,date,bc命令详解

文章目录 echo&#xff0c;date&#xff0c;bc命令详解echo(输出文本)date(显示日期的命令)date命令的--date选项date命令 bc(高精度计算器) echo&#xff0c;date&#xff0c;bc命令详解 echo(输出文本) echo命令是一个常用的Shell命令&#xff0c;用于在终端上输出文本。它…

触摸屏是如何诞生的,它又是如何影响和改变着我们的生活?

芊芊玉指在小小的屏幕上滑动&#xff0c;天下事便了然于胸。这就是手机触摸屏给我们的生活带来的改变。 曾几何时&#xff0c;我们是生活在九宫格或者全键盘上的“拇指族”。一股浪潮席卷而来&#xff0c;手机上的实体按键都消失了&#xff0c;虚拟按键仅在需要时出现。触摸屏是…

cpu load与cpu使用率与线程的5种状态

cpu load值是正在运行和就绪等待状态线程数之和。 load越大&#xff0c;说明线程竞争时间片越激烈&#xff0c;线程等待队列越长。 对于8核系统&#xff0c;如果load为10&#xff0c;说明8个线程正在执行&#xff0c;2个线程等待时间片。 cpu利用率 load越大&#xff0c;cpu使…

docker_查询日志并输出到文件

想查询一下docker容器内服务的log&#xff0c;但是因为log太多&#xff0c;想自定义筛选一下。 1、导出全部的log到文件 docker logs dockerId >>log.txt 2、按照时间导出log信息 但是全部的log太多&#xff0c;我想按照时间进行查询&#xff0c;这就用到了--since参…

数据仓库与数据库之间的区别与联系

文章目录 一、数据库与数据仓库的区别 1.1、区别 1.2、ACID内容 二、原子性&#xff08;Atomicity&#xff09; 三、持久性&#xff08;Durability&#xff09; 四、隔离性&#xff08;Isolation&#xff09; 1、锁机制 2、脏读、不可重复读和幻读 2、事务隔离级别 五…

k8s-官网阅读-livenness/readiness/startup Probes

Configure Liveness, Readiness and Startup Probes | Kubernetes 对官方文档的阅读、理解&#xff0c;做一个记录。 用到哪里看到哪里。 看之前&#xff0c;总结之前&#xff0c;要问自己&#xff0c;是想真的搞懂&#xff0c;还是想应付了事&#xff0c;为了完成而完成&am…

JVM系列(十) 垃圾收集器之 Parallel Scavenge/Old

上篇文章我们讲解了单线程垃圾收集器 Serial/SerialOld &#xff0c;与之相对应的多线程垃圾收集器就是 Parallel Scavenge/Old&#xff0c; 本文我们讲解下多线程垃圾收集器 Parallel Scavenge/Old 垃圾收集器 新生代收集器&#xff1a; Serial、ParNew、Parallel Scavenge&…