我正在做一些测试,只需要过滤相应 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
答案 0 :(得分:1)
kubectl describe
输出是“人类可读的”,这不是那么容易解析,但它也不能保证不同版本的格式一致。如果您想以编程方式从 kubectl 获取一些信息,您应该将 kubectl get
与 -o jsonpath
或 -o go-template
例如,要获取所有卷,您可以使用类似
kubectl get pod your_pod -o jsonpath='{.spec.volumes}'
要获取卷名,请使用
kubectl get pod your_pod -o jsonpath='{.spec.volumes[*].name}'