博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过describe命令学习Kubernetes的pod属性详解
阅读量:4683 次
发布时间:2019-06-09

本文共 919 字,大约阅读时间需要 3 分钟。

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

1240

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

1240

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创建的。

1240

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

1240

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

1240

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

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

1240

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

1240

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

1240

下图是修改后的yaml文件:

1240

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

1240

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

1240

转载于:https://www.cnblogs.com/sap-jerry/p/9992344.html

你可能感兴趣的文章
区块链学习笔记01(基本介绍)
查看>>
[树形dp] 洛谷 P2634 聪聪可可
查看>>
JS 字符串切割成数组
查看>>
微信 小程序组件 转发
查看>>
MySQL 重命名数据库
查看>>
The version of SQL Server in use does not support datatype 'datetime2' 解决办法
查看>>
JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)...
查看>>
DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版
查看>>
Java中的ReentrantLock和synchronized两种锁定机制的对比
查看>>
MySQL锁之二:锁相关的配置参数
查看>>
作品汇总和进度表
查看>>
2018-2019-1 20165301 《信息安全系统设计基础》第五周学习总结
查看>>
EF多个表映射
查看>>
J2EE项目集成SAP的BO报表
查看>>
SpringBoot常用属性配置
查看>>
文件上传漏洞总结
查看>>
Scala学习文档-各种使用模式的情况
查看>>
【bzoj1005】[HNOI2008]明明的烦恼 Prufer序列+高精度
查看>>
【bzoj4236】JOIOJI STL-map
查看>>
整理iOS开发常用的第三方资源
查看>>