在pod中配置kubectl使用serviceaccount token 访问集群

kubectl exec -it my-pod -- bash

# 配置 kubectl 使用 ServiceAccount 的 Token
kubectl config set-credentials in-cluster \
  --token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) \
  --certificate-authority=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt

# 设置集群和上下文
kubectl config set-cluster kubernetes \
  --server=https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT} \
  --certificate-authority=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt

kubectl config set-context default \
  --cluster=kubernetes \
  --user=in-cluster

kubectl config use-context default

# 测试访问集群
kubectl get nodes
posted @ 2025-03-02 21:10  liy36  阅读(18)  评论(0)    收藏  举报