Rya*_*yan 5 jsonpath kubernetes kubectl kubernetes-dashboard kubernetes-secrets
替换如下 2 个命令来获取 Kubernetes 秘密令牌的一个线性命令是什么?示例用例将从 kubernetes-dashboard-admin 的密钥中获取令牌以登录和查看 kubernetes-dashboard。
命令示例:
$ kubectl describe serviceaccount default
Name: default
Namespace: default
Labels: <none>
Annotations: <none>
Image pull secrets: <none>
Mountable secrets: default-token-zvxf4
Tokens: default-token-zvxf4
Events: <none>
$ kubectl describe secret default-token-zvxf4
Name: default-token-zvxf4
Namespace: default
Labels: <none>
Annotations: kubernetes.io/service-account.name: default
kubernetes.io/service-account.uid: 809835e7-2564-439f-82f3-14762688ca80
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 7 bytes
token: TOKENHERE
Run Code Online (Sandbox Code Playgroud)
我发现的答案如下。通过使用jsonpath来检索并使用 xargs将秘密名称/输出传递给第二个命令。最后需要使用base64来解码加密令牌。
$ kubectl get serviceaccount default -o=jsonpath='{.secrets[0].name}' | xargs kubectl get secret -ojsonpath='{.data.token}' | base64 --decode
TOKENHERE%
Run Code Online (Sandbox Code Playgroud)
尾部 % 不是令牌的一部分
这应该能够在 MacOS 上运行,而无需安装其他应用程序,例如jq,它应该能够执行相同的操作。希望这对其他人有帮助。
| 归档时间: |
|
| 查看次数: |
4744 次 |
| 最近记录: |