【问题标题】:Kubernetes kubectl get secrets by type?Kubernetes kubectl 按类型获取秘密?
【发布时间】:2020-10-29 02:05:03
【问题描述】:

我想运行 kubectl 并获取 type = X 的所有秘密。这可能吗?

即如果我想获取 type=tls 的所有秘密

类似kubectl get secrets --type=tls?

【问题讨论】:

    标签: kubernetes kubectl


    【解决方案1】:

    field-selector怎么样:

    $ kubectl get secrets --field-selector type=kubernetes.io/tls
    

    【讨论】:

      【解决方案2】:

      你可以做到jsonpath。像这样的:

      $ kubectl get secret -o=jsonpath='{range .items[*]}{.metadata.name} {.type}{"\n"}{end}' | grep -i tls
      

      例如,要获取所有Opaque 类型的秘密:

      $ kubectl get secret -o=jsonpath='{range .items[*]}{.metadata.name} {.type}{"\n"}{end}' | grep Opaque
      dummy-secret Opaque
      mysecretdelete Opaque
      

      更新:

      现在您可以使用kubectl 中的--field-selector 选项来执行此操作:

      $ kubectl get secrets --field-selector type=kubernetes.io/tls
      $ kubectl get secret --field-selector type=kubernetes.io/service-account-token
      

      【讨论】:

        【解决方案3】:

        接受的答案当然有效,但我有兴趣找到grep-less 解决方案。这是我的贡献。

        $ kubectl get secret -o=jsonpath='{.items[?(@.type=="Opaque")].metadata.name}'
        dummy-secret mysecretdelete
        

        【讨论】:

          猜你喜欢
          • 2016-09-07
          • 2018-08-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-08
          • 2021-02-26
          • 2021-04-16
          • 2019-12-26
          相关资源
          最近更新 更多