创建用户示例
本示例将通过告诉大家如何通过kubernetes的Service Account机制,生成一个管理员账号并通过
Token方式登录进入Dashboard。
首先新建admin-user.yaml文件,在文件中添加一下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system
创建 Service Account
我们在admin-user.yaml中的第一部分内容的作用就是命名空间 kube-system 中创建一个 Service Account
1
2
3
4
5
6apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system
创建 ClusterRoleBinding
在大多数情况下,我们在搭建好kubernetes集群之后 ClusterRole 和 admin-Role 就已经在集群中被创建好了
我们可以直接使用它们来为我们的 Service Account 创建 ClusterRoleBinding,需要注意的是不同的kubernetes版
本使用的apiVersion是不同的,v1.8以前使用的是 rbac.authorization.k8s.io/v1
1
2
3
4
5
6
7
8
9
10
11
12apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system
完成创建并获取Token
1.admin-user.yaml文件编写好后我们执行一下命令kubectl create 创建Service Account
1kubectl create -f ./admin-user.yaml
2.然后,我们需要查找我们新创建的账号对应的Token并保存下来
1kubectl -n kube-system describe secret | grep -A 10 admin-user
3.控制台应该会打印出一下结果
1
2
3
4
5
6
7
8
9
10
11
12
13Name: admin-user-token-6gl6l Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name=admin-user kubernetes.io/service-account.uid=b16afba9-dfec-11e7-bbb9-901b0e532516 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 11 bytes token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLTZnbDZsIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJiMTZhZmJhOS1kZmVjLTExZTctYmJiOS05MDFiMGU1MzI1MTYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.M70CU3lbu3PP4OjhFms8PVL5pQKj-jj4RNSLA4YmQfTXpPUuxqXjiTf094_Rzr0fgN_IVX6gC4fiNUL5ynx9KU-lkPfk0HnX8scxfJNzypL039mpGt0bbe1IXKSIRaq_9VW59Xz-yBUhycYcKPO9RM2Qa1Ax29nqNVko4vLn1_1wPqJ6XSq3GYI8anTzV8Fku4jasUwjrws6Cn6_sPEGmL54sq5R4Z5afUtv-mItTmqZZdxnkRqcJLlg2Y8WbCPogErbsaCDJoABQ7ppaqHetwfM_0yMun6ABOQbIwwl8pspJhpplKwyo700OSpvTT9zlBsu-b35lzXGBRHzv5g_RA
4.最后我们把 token 输入到 Dashboard 的登录界面中就能登录到我们的 Dashboard里面了
In order to find out more about how to grant/deny permissions in Kubernetes read official authentication & authorization documentation.
最后
以上就是魔幻水蜜桃最近收集整理的关于kubernetes 创建 ServiceAccount的全部内容,更多相关kubernetes内容请搜索靠谱客的其他文章。
发表评论 取消回复