zhizihuakai

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

下载地址:https://github.com/kubernetes/dashboard/releases

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. 总结

  • 官方的文档不一定就是完美的、适合你的、可以直接执行的,有的时候需要 “本地化” 改成适合自己的
  • 排除一切可能(或假设),当仅剩下唯一的选项时,无论是多么的不可思议它都是事实

 

相关文章: