通过 describe 命令学习 Kubernetes 的 pod 属性详解

本文介绍了在Kubernetes中使用kubectl get pods命令获取pod列表,用kubectl describe pod命令将输出重定向到yaml文件以深入学习pod属性,如node、Image、Mount等。还说明了该命令可用于pod启动错误排查,通过实例展示了如何解决pod启动失败问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们可以首先使用kubectl get pods命令得到pod列表,比如我们想研究pod nginx-storage-pod的明细:

使用命令kubectl describe pod nginx-storage-pod > nginx-storage-pod.yaml, 将describe命令的输出重定向到一个yaml文件里。用vi打开这个yaml文件:

pod的所有属性可以从这个yaml文件里学习:

node:shoot–k8s-train–shacw46-worker-prvfv-z1-7844dc6744-ghd5m/10.250.0.6

表明pod所在的node,这个node一定是命令kubectl get node返回的结果之一:

image

Image:代表该pod是基于哪一个docker image创建的。

Mount:该pod使用的persistent volume对应的物理文件目录,我的例子是.usr/share/nginx/html

这个路径从哪里来的呢?就是我的pod文件的yaml文件里的定义:

describe命令除了本文介绍的可以用来深入学习pod的属性外,还可以用于pod不能正常启动时的错误排查。

比如我有一个pod名为another3,状态一直处于CrashLoopBackOff, RESTART次数为12:

使用kubectl describe pod another3就可以看到这个容器启动的明细:Back-off restarting failed container

仔细检查pod的yaml文件,发现原因是因为我定义了volume的name为content-storage,但是没有指定persistentvolumeclaim。当我把volumes: - name: content-storage删除之后,

下图是修改后的yaml文件:

重新创建名为another3的pod,很快就创建成功并且状态处于running了:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值