Kubernetes Dashboard 的安装过程比较曲折,拿起又放下,直到发现它的价值,必须要安装成功。
1. 环境
虚拟机:VMware
系统:Centos 7
Kubernetes:v1.18.0
Docker:19.03.12
Kubernetes Dashboard:v2.0.1
2. 准备
Kubernetes Dashboard 的每个版本可能会支持Kubernetes的不同版本,请根据Kubernetes的版本选择Dashboard的版本。
1 ## kubernetes 版本号查看命令 2 # kubectl version 3 ## docker 版本号查看命令 4 # docker version
下载地址:Releases · kubernetes/dashboard · GitHub
PS:这里提供我使用的版本(相关信息都已经配置完成,可以直接跳过下一个步骤),v2.0.1:下载
3. 修改recommended.yaml文件
官方文件缺少或者需要修改部分信息才能正常运行。
3.1 增加对于NodePort的支持(可选)
这样发布成功之后不需要执行kubectl proxy命令,可以直接采用Node IP+端口进行访问
3.2 增加对于权限的支持(可选)
3.3 集群角色授权
修改集群权限(resources字段描述是可以操作哪些资源,verbs字段描述的是可以对资源进行哪些操作)
3.4 替换镜像地址
镜像地址改为国内镜像地址(2处需要修改)
3.5 增加 dashboard-admin 账户
在文件最后增加以下内容:
1 --- 2 3 # ------------------- dashboard-admin ------------------- # 4 apiVersion: v1 5 kind: ServiceAccount 6 metadata: 7 name: dashboard-admin 8 namespace: kubernetes-dashboard 9 --- 10 apiVersion: rbac.authorization.k8s.io/v1 11 kind: ClusterRoleBinding 12 metadata: 13 name: dashboard-admin 14 subjects: 15 - kind: ServiceAccount 16 name: dashboard-admin 17 namespace: kubernetes-dashboard 18 roleRef: 19 apiGroup: rbac.authorization.k8s.io 20 kind: ClusterRole 21 name: cluster-admin
4. 执行
在master节点,执行以下命令:
1 kubectl apply -f dashboard-recommended.yaml
执行成功之后,执行以下命令查看登录所需要的Token
1 kubectl describe secret -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard |grep kubernetes-dashboard-token | awk '{print $1}') |grep token | awk '{print $2}'
PS:
如提示权限不足,请修改 3.3 步骤中内容,增加对应的资源权限即可。
5. 总结
- 官方的文档不一定就是完美的、适合你的、可以直接执行的,有的时候需要 “本地化” 改成适合自己的
- 排除一切可能(或假设),当仅剩下唯一的选项时,无论是多么的不可思议它都是事实
原文地址:Kubernetes Dashboard 安装 - 暗香残留 - 博客园
如果你觉的本文对你有帮助,麻烦点赞关注支持一下