天天看點

k8s dashboard_二進制手動部署k8s-1.14高可用叢集(四、部署dashboard)

k8s dashboard_二進制手動部署k8s-1.14高可用叢集(四、部署dashboard)
1. 部署dashboard

# 上傳dashboard配置

$ scp target/addons/dashboard-all.yaml <user>@<node-ip>:/etc/kubernetes/addons/

# 建立服務

$ kubectl apply -f /etc/kubernetes/addons/dashboard-all.yaml

# 檢視服務運作情況

$ kubectl get deployment kubernetes-dashboard -n kube-system

$ kubectl --namespace kube-system get pods -o wide

$ kubectl get services kubernetes-dashboard -n kube-system

$ netstat -ntlp|grep 8401

2. 通路dashboard

為了叢集安全,從 1.7 開始,dashboard 隻允許通過 https 通路,我們使用nodeport的方式暴露服務,可以使用 https://NodeIP:NodePort 位址通路

關于自定義證書

預設dashboard的證書是自動生成的,肯定是非安全的證書,如果大家有域名和對應的安全證書可以自己替換掉。使用安全的域名方式通路dashboard。

在dashboard-all.yaml中增加dashboard啟動參數,可以指定證書檔案,其中證書檔案是通過secret注進來的。

- –tls-cert-file

- dashboard.cer

- –tls-key-file

- dashboard.key

3. 登入dashboard

Dashboard 預設隻支援 token 認證,是以如果使用 KubeConfig 檔案,需要在該檔案中指定 token,我們這裡使用token的方式登入

# 建立service account

$ kubectl create sa dashboard-admin -n kube-system

# 建立角色綁定關系

$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

# 檢視dashboard-admin的secret名字

$ ADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')

# 列印secret的token

$ kubectl describe secret -n kube-system ${ADMIN_SECRET} | grep -E '^token' | awk '{print $2}'