k8s dashboard安装部署实战详细手册
Posted Xd聊架构
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s dashboard安装部署实战详细手册相关的知识,希望对你有一定的参考价值。
文章目录
一、k8s dashboard搭建
1.选择版本
dashboard和k8s存在版本对应关系,具体可以去github查找https://github.com/kubernetes/dashboard/releases
由于我的k8s版本是1.20,所以dashboard选择v2.4.0版本
2.下载yaml
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
如有网络问题,可通过其他方式下载再上传到服务器,修改定义的Service,将type由ClusterIP修改为NodePort,以便我们直接通过地址+端口进行访问,并配置访问端口。
修改kubernetes-dashboard定义的Deployment为主节点启动,其他节点启动可能会出现问题(默认为master)
由于个人资源分配习惯,所以将dashboard-metrics-scraper也分配到master
3.执行yaml
kubectl apply -f recommended.yaml
执行完成后,查看pods
kubectl get pods -A
4.访问dashboard
访问集群任意节点的ip+30000端口,本文使用主节点:https://192.168.19.100:30000
因为k8s dashboard使用https进行访问,我们没有相关证书,因此有些浏览器是禁止访问的,如Chrome,我们可以使用FireFox、360急速浏览器进行访问。
k8s提供两种登录机制,本文采用Token访问机制进行登录
5.token登录
查看集群secret
kubectl get secret -n kubernetes-dashboard
查看token
kubectl describe secret kubernetes-dashboard-token-568gh -n kubernetes-dashboard
复制最后的token字符串到登录界面,点击登录,可以看到dashboard首页
此时我们看不到任何数据,点击右上角的小铃铛,发现异常信息:
serviceaccounts is forbidden: User “system:serviceaccount:kubernetes-dashboard:kubernetes-dashboard” cannot list resource “serviceaccounts” in API group “” in the namespace “default”,说明为权限不足,下面我们配置权限
6.配置权限
k8s采用的是基于角色的访问控制策略,Role-Based Access Control, 即”RBAC”,使用”rbac.authorization.k8s.io” API Group实现授权决策,涉及到ServiceAccount,Role,ClusterRole,RoleBinding,ClusterRoleBinding,Secret等概念
kubectl create clusterrolebinding serviceaccount-cluster-admin --clusterrole=cluster-admin --user=system:serviceaccount:kubernetes-dashboard:kubernetes-dashboard
配置完成后,刷新页面即可
结尾
- 感谢大家的耐心阅读,如有建议请私信或评论留言。
- 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步
以上是关于k8s dashboard安装部署实战详细手册的主要内容,如果未能解决你的问题,请参考以下文章