基於WEB的dashboard,用戶能夠用kubernetes dashboard部署容器話的應用,監控應用的狀態,執行故障排查任務以及管理kubernetes各類資源。html
在kubernetes dashboard中能夠查看集羣中應用的運行狀態,也能建立和修改各類kubernetes資源,好比deployment,job,daemonset等。用戶能夠 Scale Up/Down Deployment、執行 Rolling Update、重啓某個 Pod 或者經過嚮導部署新的應用。Dashboard 能顯示集羣中各類資源的狀態以及日誌信息。git
開始安裝github
1. 下載kubernetes dashboard 的yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
2.修改yaml文件中的鏡像地址,默認是在K8S的官網中下載的
我使用的是阿里的鏡像:registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0web
3.修改yaml文件中的 - --apiserver-host=vim
這裏我改爲了master的地址api
4.更改kubernetes-dashboard的service的類型,默認是ClusterIP 類型,更改成NodePort瀏覽器
kubectl --namespace=kube-system edit service kubernetes-dashboard安全
5.查看pod運行是否正常,google
kubectl get pod --all-namespacesspa
若是狀態不是running,請查看pod的詳細信息kubectl describe pod kubernetes-dashboard-64767d465c-rh76t --namespace=kube-system
若是提示是鏡像的緣由,須要在yaml文件中更改源的地址
PS;刪除dashboard的方法是:kubectl delete -f kubernetes-dashboard.yaml
6.訪問k8s的圖形化界面
首先查看pod映射出的端口是多少:kubectl get service --all-namespaces
經過https://masterip:端口 的方式訪問
若是圖形化界面提示不安全的鏈接什麼的,請換個瀏覽器,或者不檢查證書,我使用的是火狐瀏覽器
我是經過token的方式進行登錄的,獲取token的方法以下:
kubectl get secret -n kube-system | grep dashboard
kubectl describe secret kubernetes-dashboard-token-gjbwq -n kube-system
將token複製進去,進入web界面,若是出現如下的錯誤:
因爲 kube-apiserver 啓用了 RBAC 受權,而yaml
沒有定義受權的 ServiceAccount,因此後續訪問 API server 的 API 時會被拒絕,
解決方案(Update docs to cover RBAC changes in K8S 1.6):
vim kube-dashboard-rbac.yml
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kubernetes-dashboard
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
而後執行kubectl create -f kube-dashboard-rbac.yml
在web界面,退出後從新登錄
就ok了,實在仍是不行的話,請參考https://www.cnblogs.com/Leo_wl/p/8511902.html#_label2
啊啊啊啊啊,好開心啊,今天星期五呢。反正是今天心情挺好的