【发布时间】:2020-10-29 02:05:03
【问题描述】:
我想运行 kubectl 并获取 type = X 的所有秘密。这可能吗?
即如果我想获取 type=tls 的所有秘密
类似kubectl get secrets --type=tls?
【问题讨论】:
标签: kubernetes kubectl
我想运行 kubectl 并获取 type = X 的所有秘密。这可能吗?
即如果我想获取 type=tls 的所有秘密
类似kubectl get secrets --type=tls?
【问题讨论】:
标签: kubernetes kubectl
field-selector怎么样:
$ kubectl get secrets --field-selector type=kubernetes.io/tls
【讨论】:
你可以做到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
【讨论】:
接受的答案当然有效,但我有兴趣找到grep-less 解决方案。这是我的贡献。
$ kubectl get secret -o=jsonpath='{.items[?(@.type=="Opaque")].metadata.name}'
dummy-secret mysecretdelete
【讨论】: