跳到主要内容

安装 k8s-dashboard

· 6 分钟阅读
月子喵

这里是手动部署的过程~

安装 k8s 的官方控制台

执行

加载中.....

完成之后执行 kubectl get pods --namespace kubernetes-dashboard 查看 dashboard 运行状态

加载中.....

Running 说明已经正在运行中了, 但是如何访问呢?

执行

加载中.....

会在本地打开一个端口, 但是只能在这个命令运行的时候访问,这就很麻烦,

加载中.....

执行, 可以看到dashboard在集群内部, 外部是无法访问的

加载中.....

执行命令, 编辑这个容器的网络svc 配置

加载中.....
加载中.....

找到 spec->type, 修改为 NodePort, :wq 退出, 再执行kubectl -n kubernetes-dashboard get svc

加载中.....

可以看到 kubernetes-dashboard 的 type已经修改为 NodePort, 分配的随机端口为 30522, 使用 MasterIP:30522 就可以访问了, 不过这个时候用 Chrome 打开的时候提示证书无效,

错误https
Preview

虽然这个错误可以通过一定的方式忽略, 但是我们尝试解决一下,给他分配一个正确的 ssl 证书了

获取 SSL 证书

参考 自建CA并签发证书 一文签发有效的 SSL 证书, 或者使用其他服务签发有效的 SSL 证书

应用证书

删除旧的 dashboard Pod

这里的 url 就是上面部署用的, 你个可以直接 wget 下来避免出问题

加载中.....
运行 `kubectl get secret -n kubernetes-dashboard`, 查看 `kubernetes-dashboard-certs `是否存在, 如果存在的话, 先删除
加载中.....

这里已经有了, 执行kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard 删除原来的

加载中.....

使用官网的 yml 创建 dashboard 的时候 namespace 为 kubernetes-dashboard, 刚刚我们删除了, 先重建一个 kubectl create namespace kubernetes-dashboard

加载中.....

创建 k8s secret, /usercert.pem./key.pem就分别是申请好的证书和证书的 Key

加载中.....
加载中.....

再运行安装第一步的安装命令进行安装, 再修改 NodePortNodePort 这里就可以正常访问了

安装完成截图
Preview

登录

Token

可以参考 kubernetes-Authenticating 以及 Creating sample user 创建有权限控制的用户, 这里应为是内网就比较懒了

GIF
Preview

创建管理员

kube-system 里面创建一个 admin-user

加载中.....

创建角色绑定

使用 kubeadm创建的 k8s 集群,ClusterRole,admin-Role已经存在, 只需要创建 ClusterRoleBindingServiceAccount的绑定

加载中.....

分别执行上面的两个 yml , kubectl apple -f xxxx.yml

获取 token

执行这个

加载中.....

复制下面的 token 到 dashboard 的 token 登录

加载中.....

Kubeconfg

这个比较简单, 直接把 kubectl 的 config 拷贝出来, 将上面生成的 token放置在 users -> user-> token

加载中.....

然后在登录页面上传本配置即可

dashboard主页
Preview