如何为serviceaccount创建一个kubectl配置文件 [英] How to create a kubectl config file for serviceaccount
问题描述
我在Azure上有一个kubernetes集群,并且创建了2个名称空间和2个服务帐户,因为我有两个团队在该集群上进行部署. 我想为每个团队创建我自己的serviceaccount的kubeconfig文件.
I have a kubernetes cluster on Azure and I created 2 namespaces and 2 service accounts because I have two teams deploying on the cluster. I want to give each team their own kubeconfig file for the serviceaccount I created.
我对Kubernetes还是很陌生,还没能在kubernetes网站上找到明确的说明.如何为服务帐户创建kube配置文件? 希望有人能帮助我:),我宁愿不将默认的kube配置文件提供给团队.
I am pretty new to Kubernetes and haven't been able to find a clear instruction on the kubernetes website. How do I create a kube config file for a serviceaccount? Hopefully someone can help me out :), I rather not give the default kube config file to the teams.
以诚挚的问候,
布拉姆
推荐答案
# your server name goes here
server=https://localhost:8443
# the name of the secret containing the service account token goes here
name=default-token-sg96k
ca=$(kubectl get secret/$name -o jsonpath='{.data.ca\.crt}')
token=$(kubectl get secret/$name -o jsonpath='{.data.token}' | base64 --decode)
namespace=$(kubectl get secret/$name -o jsonpath='{.data.namespace}' | base64 --decode)
echo "
apiVersion: v1
kind: Config
clusters:
- name: default-cluster
cluster:
certificate-authority-data: ${ca}
server: ${server}
contexts:
- name: default-context
context:
cluster: default-cluster
namespace: default
user: default-user
current-context: default-context
users:
- name: default-user
user:
token: ${token}
" > sa.kubeconfig
这篇关于如何为serviceaccount创建一个kubectl配置文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!