kubernetes - 如何仅过滤来自 kubectl describe 的卷数据命令?
问题描述
我正在做一些测试,只需要过滤各个 k8s pod 的音量信息。我用 kubectl describe po | grep 卷。但它只是显示volumes:
有人可以建议我如何从 kubectl describe po 命令过滤完整的卷数据吗?
kubectl describe 命令中的完整卷数据如下
Volumes:
config-volume:
Type: XXX (a volume populated by XXX)
Name: Volum-1
Optional: false
Volum-1:
Type: YYY (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
default-token-zzz:
Type: www (a volume populated by a www)
SecretName: default-token-zzz
Optional: false
解决方案
kubectl describe
输出是“人类可读的”,这并不容易解析,但它也不能保证您在不同版本中的格式一致。如果您想以编程方式从 kubectl 获取一些信息,您应该使用kubectl get
with-o jsonpath
或-o go-template
例如,要获取所有卷,您可以使用类似
kubectl get pod your_pod -o jsonpath='{.spec.volumes}'
要获取卷名,请使用
kubectl get pod your_pod -o jsonpath='{.spec.volumes[*].name}'
请参阅https://kubernetes.io/docs/reference/kubectl/jsonpath/以供参考
推荐阅读
- c# - 为什么对 XML 文件的 Linq 查询只检查许多参数的第一个参数?
- user-interface - visual studio 2019 ui问题 完成此操作所需的数据尚不可用。(来自 HRESULT 的异常:0x8000000A)
- python - TypeError:'type'和'int'的实例之间不支持'<='```
- angular - 在 Angular 库组件模板中使用图像资源
- javascript - Mongoose 查询日期范围
- .net - Microsoft.InformationProtection.Exceptions.AccessDeniedException:服务不接受身份验证令牌
- arrays - 如何通过引用将 char 数组的数组传递给函数?
- javascript - HTML onfocus 不调用 Javascript 函数
- azure - 如何将 VM 作为节点添加到容器化的 selenoid 集线器
- python - 如何使用 BeautifulSoup 或 Selenium 点击隐藏链接