深刻玩轉K8S之Kubernetes1.10中部署dashboard以及常見問題解析

上篇文章中介紹了用kubeadm安裝Kubernetes1.10,本篇咱們來一睹Kubernetes Dashboard風采。git


老規矩,先介紹下環境:github

Kubernetes1.10,Dashboard1.8.3bash


在k8s中 dashboard能夠有兩種訪問方式:kubeconfig(HTTPS)和token(http)本篇先來介紹下Token方式的訪問。app


Token訪問是無登陸密碼的,簡單方便ide

1.下載官方的dashboard YAML文件或者下載個人YAML(無坑版)spa

# 官網版
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須要***。orm


爲了不沒必要要的報錯和坑,建議你們採用個人修改版,裏面有heapster插件YAML和RBAC YAML。blog

https://github.com/gh-Devin/kubernetes-dashboard


2.建立podtoken

下載完上面的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.jpg

這是由於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便可。

相關文章
相關標籤/搜索