十五 dashboard
它作为 k8s 集群的附件存在,是 kubernetes 官方的项目之一,详见:https://github.com/kubernetes/dashboard
15.1 部署流程
- 修改 dashboard 清单中 service 的工作模式为 nodeport
- 注释掉 kubernetes-dashboard.yaml 清单文件中的 Dashboard Secret 这个证书的清单定义
15.2 使用令牌登录
- 为 POD 创建一个 serviceaccount 对象,它是 POD 访问 apiserver 的凭证
- 创建 clusterrolebinding 将用户绑定至 cluster-admin 集群管理员(最高权限)
- 找到刚才创建的 serviceaccount 对象
- 得到 serviceaccount 对象中的 Token
15.3 分级管理
现在需要创建一个只能管理 default 名称空间的用户,那么我们可以用 rolebinding 去绑定 admin 这个 clusterrolue 对象,那么就获得了当前名称空间的管理员权限了。
- 使用 rolebinding 对象,将 default 名称空间的 def-ns-admin 这个 serviceaccunt 与 admin 这个 clusterrole 绑定
- 找到刚才创建的 serviceaccount 对象
- 得到 serviceaccount 对象中的 Token
15.4 配置文件认证
与之前基于 SSL 证书的 config 文件不同,这次使用是基于 Token 的 config 文件,可以不用创建证书了,使用已有的 serviceaccount 对象的 token。
- 设置集群的连接的 ca 机构证书,—kubeconfig 可以指定 kubectl 使用的配置文件位置,默认为用户家目录 .kube 目录中的 config
- 取得一个已经绑定角色的 serviceaccount 对象的 Token
- 创建上下文对象,授权 kaliarch 用户访问名称为 kubernetes 的集群
- 切换当前使用的上下文,到授权 kaliarch 到 kubernetes 的上下文上
- 复制 /tmp/test.conf 这个文件到 dashboard 中就可以登录了