一个衬里命令替换下面的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
我发现的答案在下面。通过使用jsonpath检索和xargs将输出传递给第二个命令。最后将需要对加密令牌进行解码。
$ kubectl get serviceaccount default -o=jsonpath='{.secrets[0].name}' | xargs kubectl get secret -ojsonpath='{.data.token}' | base64 --decode
TOKENHERE%
无需复制结尾的%
希望这会有所帮助