Kubernetes 创建 AI 和 Dev 空间只读帐号,生成 Token,提供给 Kubernetes Dashboard
- 创建只读角色
首先,我们需要创建一个只读的角色,用于限制该帐号的权限。
创建一个名为'readonly'的角色文件'readonly-role.yaml',内容如下:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: ai # 替换成你的命名空间
name: readonly
rules:
- apiGroups: ['', 'extensions', 'apps']
resources: ['*']
verbs: ['get', 'list', 'watch']
- apiGroups: ['batch']
resources:
- jobs
- cronjobs
verbs: ['get', 'list', 'watch']
- apiGroups: ['autoscaling']
resources: ['horizontalpodautoscalers']
verbs: ['get', 'list', 'watch']
这个角色允许只读访问所有资源,包括'extensions'、'apps'、'batch'、'autoscaling'等。
然后,我们需要创建一个只读的角色绑定,将该角色绑定到指定的帐号上。创建一个名为'readonly-binding.yaml'的文件,内容如下:
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: readonly-binding
namespace: ai # 替换成你的命名空间
subjects:
- kind: User
name: ai-readonly # 替换成你的帐号的用户名
apiGroup: ''
roleRef:
kind: Role
name: readonly
apiGroup: ''
这个绑定将'readonly'角色绑定到名为'ai-readonly'的帐号上。
- 生成 token
接下来,我们需要为该帐号生成一个 token,用于登录 Kubernetes Dashboard。
首先,使用以下命令创建一个名为'ai-readonly'的帐号:
kubectl create sa ai-readonly -n ai # 替换成你的命名空间
然后,使用以下命令获取该帐号的 token:
kubectl describe secret $(kubectl get secret -n ai | grep ai-readonly | awk '{print $1}') -n ai # 替换成你的命名空间和帐号名
执行完该命令后,会输出一个 token,类似于'eyJhbGciOiJSUzI1NiIsImtpZCI6IjJkZmRjNzA4MjZmYmI3YjViMmQwNzRkNjJlMWU5MzUxI......'。复制该 token,将其提供给 Kubernetes Dashboard。
- 提供 token 给 Kubernetes Dashboard
打开 Kubernetes Dashboard,选择“Token”登录方式,将刚刚生成的 token 粘贴到“Token”输入框中,点击“SIGN IN”按钮即可登录。
原文地址: http://www.cveoy.top/t/topic/kTja 著作权归作者所有。请勿转载和采集!