Skip to content

Kubernetes Token Retrieval Command

The Kubernetes Token Retrieval Command refers to a specific kubectl command sequence used to extract the authentication bearer token required to access the Kubernetes Dashboard web interface.^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md]

Context

To log in to the Kubernetes Dashboard, a user must provide a secure Bearer Token.^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md] This token is associated with a specific ServiceAccount created within the cluster (e.g., admin-user in the kubernetes-dashboard namespace).^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md]

The Command

The retrieval process involves finding the Secret object associated with the ServiceAccount and then decoding the data stored within it.^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md] The full command is typically executed as follows:

[kubectl](<./kubectl.md>) -n kubernetes-dashboard get secret $([kubectl](<./kubectl.md>) -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"

Breakdown

  • Inner Command: kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}"
    • Retrieves the name of the secret associated with the admin-user service account.^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md]
  • Outer Command: kubectl -n kubernetes-dashboard get secret [SECRET_NAME] ...
    • Fetches the details of the specific secret identified by the inner command.
  • Output Format: -o go-template="{{.data.token | base64decode}}"
    • Extracts the token data and decodes it from Base64 format to a readable string.^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md]

Output

Upon successful execution, the command returns a long alphanumeric string, which is the authentication token (JWT) used for login.^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md]

Sources

^[400-devops-06-kubernetes-k8s-learning-linux-03-dashboard-readme.md]