Devops搭建记录--Kubectl多用户

Devops搭建记录—Kubectl多用户

学弟们也想用minikube跑东西,那就用起来呗(为什么没有学妹呢?好气哦

计划

  1. 创建命名空间
  2. 创建账户
  3. 赋予权限
  4. 创建并使用新context

命名空间

1
kubectl create ns playground

创建账户

1
kubectl create sa -n playground player

赋予权限

k8s自带一个admin的role还是很好使的,直接绑定即可

1
kubectl create rolebinding playground-admin --clusterrole=admin --serviceaccount=playground:player --namespace=playground

kubectl create rolebinding devops-cluster-admin —clusterrole=cluster-admin —serviceaccount=devops:default —namespace=devops

创建Context

获取secret名称

1
kubectl describe sa -n playground player | grep Token

会得到如下所示的结果,即为Secret的名称

1
Tokens:              player-token-abcdefg

获取Token

1
kubectl describe secret -n playground <SECRET_NAME>

结果如下

1
2
3
4
5
6
7
8
9
10
11
12
13
Name:         player-token-abcdefg
Namespace: playground
Labels: <none>
Annotations: kubernetes.io/service-account.name: player
kubernetes.io/service-account.uid: ccfc6b21-5b2d-450b-a343-744f815ab175

Type: kubernetes.io/service-account-token

Data
====
ca.crt: 1111 bytes
namespace: 10 bytes
token: <TOKEN>

添加用户配置

在kubectl的config中,以该Token增加用户即可

1
kubectl config set-credentials player --namespace=playground --token=<TOKEN>

添加Context配置

1
kubectl config set-context player --user=player --cluster=<API_SERVER> --namespace=playground

使用新context

1
kubectl config use-context player