1. 创建只读角色

首先,我们需要创建一个只读的角色,用于限制该帐号的权限。

创建一个名为'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'的帐号上。

  1. 生成 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。

  1. 提供 token 给 Kubernetes Dashboard

打开 Kubernetes Dashboard,选择“Token”登录方式,将刚刚生成的 token 粘贴到“Token”输入框中,点击“SIGN IN”按钮即可登录。


原文地址: http://www.cveoy.top/t/topic/kTja 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录