Kubernetes kubectl 按类型获取秘密?
Kubernetes kubectl get secrets by type?
我想运行 kubectl 并获取type = X 的所有秘密。这可能吗?
即,如果我想获取 type=tls
的所有秘密
类似于 kubectl get secrets --type=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
怎么样field-selector:
$ kubectl get secrets --field-selector type=kubernetes.io/tls
我想运行 kubectl 并获取type = X 的所有秘密。这可能吗?
即,如果我想获取 type=tls
的所有秘密类似于 kubectl get secrets --type=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
怎么样field-selector:
$ kubectl get secrets --field-selector type=kubernetes.io/tls