基於WEB的dashboard,用戶可以用kubernetes dashboard部署容器話的應用,監控應用的狀態,執行故障排查任務以及管理kubernetes各種資源。
在kubernetes dashboard中可以查看集群中應用的運行狀態,也能創建和修改各種kubernetes資源,比如deployment,job,daemonset等。用戶可以 Scale Up/Down Deployment、執行 Rolling Update、重啟某個 Pod 或者通過向導部署新的應用。Dashboard 能顯示集群中各種資源的狀態以及日志信息。
開始安裝
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.0
3.修改yaml文件中的 - --apiserver-host=
這里我改成了master的地址
4.更改kubernetes-dashboard的service的類型,默認是ClusterIP 類型,更改為NodePort
kubectl --namespace=kube-system edit service kubernetes-dashboard
5.查看pod運行是否正常,
kubectl get pod --all-namespaces
如果狀態不是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
啊啊啊啊啊,好開心啊,今天星期五呢。反正是今天心情挺好的