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