一个用于获取秘密名称和秘密令牌的内衬命令

问题描述 投票:0回答:1

一个衬里命令替换下面的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
kubernetes kubectl jsonpath kubernetes-secrets kubernetes-dashboard
1个回答
0
投票

我发现的答案在下面。通过使用jsonpath检索和xargs将输出传递给第二个命令。最后将需要对加密令牌进行解码。

$ kubectl get serviceaccount default -o=jsonpath='{.secrets[0].name}' | xargs kubectl get secret -ojsonpath='{.data.token}' | base64 --decode
TOKENHERE%

无需复制结尾的%

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.