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安装部署实战详细手册的主要内容,如果未能解决你的问题,请参考以下文章

k8s集群安装部署实战详细手册

k8s集群安装部署实战详细手册

docker安装部署实战详细手册

docker安装部署实战详细手册

APM链路监控:pinpoint安装部署实战详细手册

APM链路监控:pinpoint安装部署实战详细手册