需求背景
使用新版的部署的Kubernetes集群,已经默认安装了并使用最小的访问权限:
匿名访问的是用户是服务账户
被授予最小化权限,只能访问dashboard的UI等资源
我们需要一个能够登录dashboard并对整个集群具有管理权限的账户。
下面来进行设置。
Dashboard基本配置调整
修改的,将端口暴露到Node节点上,使得我们能够通过host主机ip直接访问
image
修改的认证方式,使得我们能够正常访问的到登录页面
修改后的登录界面是这样子,点击就可以跳转到登录界面了:
image
如果要修改dashboard登录方式为用户名密码,需要做如下修改:
将中默认设置修改为
创建secret并挂载到Pod中
生成自签名证书
参考:https://github.com/kubernetes/dashboard/wiki/Certificate-management#self-signed-certificate
使用自签名证书创建secret
参考: https://github.com/kubernetes/dashboard/wiki/Installation#recommended-setup
提交更新
最后登录
image
Dashboard访问控制
参考文档:
https://github.com/kubernetes/dashboard/wiki/Access-control
https://github.com/kubernetes/dashboard/tree/v1.8.3
建议认真查看上面第二个文档,新版的 dashboard 文档省去了一些过渡性的说明。
我们可以有2种方式来授权访问的管理员特权:
提权账户的角色为
创建新的账户,授予角色
提权 kubernetes-dashboard 账户的角色为 ClusterRole
由于用户是可以匿名访问kubernetes-dashboard的,提权会同时提升这个默认账户的匿名访问权限,具有巨大安全隐患,强烈不推荐。
但还是要介绍一下怎么做。
这样,我们既可以用tokin登录,也可以匿名访问,两种情况都拥有操作集群的超级管理员权限。
创建新的账户授予角色 ClusterRole
既然上面的方式有缺陷,那我们就自己创建一个 SA,授予权限,只有拿到token的时候才能登录并操作。
准备相应资源
创建资源
获取token
登录Web
https://172.xx.xx.xx:30000/#!/login
领取专属 10元无门槛券
私享最新 技术干货