Kubernetes1.10中部署dashboard以及常見問題解析_Kubernetes中文社群
使用kubeadm安裝Kubernetes v1.10以及常見問題解答上篇文章中介紹了用kubeadm安裝Kubernetes1.10,本篇我們來一睹Kubernetes Dashboard風采。
老規矩,先介紹下環境:
Kubernetes1.10,Dashboard1.8.3
在k8s中 dashboard可以有兩種訪問方式:kubeconfig(HTTPS)和token(http)本篇先來介紹下Token方式的訪問。
Token訪問是無登入密碼的,簡單方便
1.下載官方的dashboard YAML檔案或者下載我的YAML(無坑版)
1 2 |
# 官網版
https: //raw .githubusercontent.com /kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard .yaml
|
1 2 |
# 修改版
https: //github .com /gh-Devin/kubernetes-dashboard/blob/master/kubernetes-dashboard .yaml
|
1 2 3 |
# 你下載完之後開始修改YAML檔案,修改內容如下
image: k8s.gcr.io /kubernetes-dashboard-amd64 :v1.8.3 |
修改檔案裡面的映象為自己可用的映象,也就是上篇文章使用kubeadm安裝Kubernetes v1.10以及常見問題解答中讓你提前下載到本地的K8S相關的映象,這裡也要注意映象版本要一致,不然也會報錯。
提示:下載官網版YAML需要梯子。
為了避免不必要的報錯和坑,建議大家採用我的修改版,裡面有heapster外掛YAML和RBAC YAML。
1 |
https: //github .com /gh-Devin/kubernetes-dashboard
|
2.建立pod
下載完上面的YAML檔案之後,開始建立pod
1 2 3 4 |
[[email protected] # ls
heapster-rbac.yaml heapster.yaml kubernetes-dashboard-admin.rbac.yaml kubernetes-dashboard.yaml
[[email protected] devin] # kubectl -n kube-system create -f .
|
3.檢視pod
1 |
[[email protected] devin] # kubectl get svc,pod --all-namespaces | grep dashboard
|
注意:前方高能,報錯多發區。
如果採用官方YAML,就會出現以下報錯
這是因為K8S在1.6版本以後啟用了RBAC訪問控制策略,可以使用kubectl或Kubernetes API進行配置。使用RBAC可以直接授權給使用者,讓使用者擁有授權管理的許可權,這樣就不再需要直接觸碰Master Node。
下面教你如何解決以上報錯問題,如果你下載的是官方版本,修改kubernetes-dashboard.yaml檔案中的ServiceAccount名稱
1 2 3 4 5 |
[[email protected] devin] # vi kubernetes-dashboard.yaml
146 serviceAccountName: kubernetes-dashboard-admin
[[email protected] devin] # kubectl apply -f kubernetes-dashboard.yaml -f kubernetes-dashboard-admin.rbac.yaml
|
至此Dashboard就可以採用token方式來訪問,如果沒有修改dashboard YAML檔案裡面的ip和埠的話可以直接訪問K8S Master IP地址+30090即可。