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. 總結
- 官方的文檔不一定就是完美的、適合你的、可以直接執行的,有的時候需要 “本地化” 改成適合自己的
- 排除一切可能(或假設),當僅剩下唯一的選項時,無論是多么的不可思議它都是事實