如何仅过滤来自 kubectl describe <pod_name> 命令的卷数据?

时间:2021-04-09 11:48:00

标签: kubernetes devops

我正在做一些测试,只需要过滤相应 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

1 个答案:

答案 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}'

参考https://kubernetes.io/docs/reference/kubectl/jsonpath/

相关问题