目录
1.create serviceaccount
2.get token and sa from secret
3.add cluster
4.check configuration
5.refer to
# 创建一个服务账号
kubectl create sa ${my-account}
在k8s中创建serviceaccount成功后,同步创建出对应的secret,secret存储了token和证书信息。
# 根据sa name找到对应的secret name
SECRET_NAME=$(kubectl get serviceaccount ${my-account} -n kube-system -o jsonpath='{.secrets[0].name}')
echo $SECRET_NAME
# 直接依据secret name 找到token和CA证书信息(后续创建user需要使用)
# 找到TOKEN
TOKEN=$(kubectl get secret ${SECRET_NAME} -n kube-system -o jsonpath='{.data.token}'|base64 -d)
echo $TOKEN
# 找到CA
CA_CRT=$(kubectl get secret ${SECRET_NAME} -n kube-system -o jsonpath='{.data.ca\.crt }'|base64 -d)
echo $CA_CRT
# create SA file
cat << EOF > k8s-ca.crt
${CA_CRT}
EOF
# config a new cluster
kubectl config set-cluster ${my-cluster} --server=${serverpath} --certificate-authority=./k8s-ca.crt --embed-certs=true
serverpath需要在k8s集群上查看,格式是http://k8s-cluster-host:port
# add user
kubectl config set-credentials ${my-user} --token ${TOKEN}
# add context
kubectl config set-context ${my-context} --user ${my-user} --cluster ${my-cluster}
kubectl cluster-info --context ${my-context} && kubectl get ns --context ${my-context} && kubectl get pods --context ${my-context}
最后这一步是验证配置是否生效的操作,本质是一个查询操作。
k8s之serviceaccount,登录账号创建 - SZ_文彬 - 博客园