K8S學習指南(二)---安裝Kubernetes Dashboard 儀表盤
阿新 • • 發佈:2020-06-24
K8S學習指南(二)---安裝Kubernetes Dashboard 儀表盤
Kubernetes Dashboard
概述
Kubernetes Dashboard 是一個管理Kubernetes叢集的全功能Web介面,旨在以UI的方式完全替代命令列工具(kubectl 等)
建立賬號
部署之前要建立好相對應的賬號和金鑰
建立服務賬號
首先建立一個叫admin-user
的服務賬號,並放在kubernetes-dashboard
名稱空間下
# admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
複製程式碼
執行kubectl create
:
kubectl create -f admin-user.yaml
複製程式碼
繫結角色
在大多數情況下,使用kops
或kubeadm
任何其他流行的工具配置集群后,叢集中ClusterRole admin-Role
已經存在該叢集。我們可以使用它並僅為ClusterRoleBinding
我們建立ServiceAccount
# admin-user-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
複製程式碼
執行kubectl create
:
kubectl create -f admin-user-role-binding.yaml
複製程式碼
建立證書
對於API Server來說,它是使用證書進行認證的,我們需要先建立一個證書:
- 首先找到
kubectl
命令的配置檔案,預設情況下為/etc/kubernetes/admin.conf
,複製到了~/.kube/config
中
cp -f /etc/kubernetes/admin.conf ~/.kube/config
複製程式碼
- 生成
client-certificate-data
cd ~
grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt
複製程式碼
- 生成
client-key-data
cd ~
grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key
複製程式碼
- 生成
p12
cd ~
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client" -passout pass:
複製程式碼
- 下載
kubecfg.p12
匯入到本地,重啟瀏覽器生效
部署Kubernetes Dashboard
下載安裝
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml
複製程式碼
檢視登陸的Token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
Name: admin-user-token-rbz5j
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: 56c6497f-2de4-45f8-a284-c469048a6ac0
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1066 bytes
namespace: 11 bytes
token: <YOUR TOKEN>
複製程式碼
瀏覽器登陸 https://<master-ip>:<apiserver-port>/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
例如 https://<IP地址>:8443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
點選同意證書
輸入Token
至此,Kubernetes Dashboard
已經安裝完成
快速安裝
curl -sL https://raw.githubusercontent.com/charSLee013/Kubernetes-learn/master/chapter02/kubernetes-install-dashboard.sh | bash
複製程式碼
安裝完成後,記得先從機器下載kubecfg.p12
,然後重啟瀏覽器再開啟web
介面
更多學習文章在點選訪問