【问题标题】:How to filter only volume data from kubectl describe <pod_name> command?如何仅从 kubectl describe <pod_name> 命令过滤卷数据?
【发布时间】:2021-04-09 20:36:06
【问题描述】:

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

【问题讨论】:

  • 是什么让您认为这不是完整的卷列表?

标签: kubernetes devops


【解决方案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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 2017-04-29
    • 1970-01-01
    相关资源
    最近更新 更多