本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學:部署 Kubernetes 儀表板 (Web UI)
本教學會逐步引導您將 Kubernetes 儀表板

Prerequisites
本教學課程的假設如下:
-
您已按照 Amazon EKS所述的步驟建立 入門Amazon EKS. 叢集。
-
您已安裝 Kubernetes 指標伺服器。如需詳細資訊,請參閱 安裝 Kubernetes 指標伺服器.
-
控制平面彈性網路界面和節點的安全群組遵循 中的建議設定Amazon EKS 安全群組考量。
-
您所使用的
kubectl
用戶端已設定將與您的 Amazon EKS 叢集通訊.
步驟 2:部署 Kubernetes 儀表板
完成對應至叢集所在區域的選項指示。
-
北京與寧夏 中國以外的所有區域
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
-
北京與寧夏 中國
-
使用下列命令下載 Kubernetes 儀表板資訊清單。
curl -o recommended.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
-
使用下列步驟編輯資訊清單檔案。
-
檢視資訊清單檔案或您下載的檔案,並記下映像的名稱。使用下列命令將映像下載至本機。
docker pull image:<tag>
-
使用以下命令標記要推送至中國 Amazon Elastic Container Registry 儲存庫的映像。
docker tag image:<tag> <aws_account_id>.dkr.ecr.<cn-north-1>.amazonaws.com/image:<tag>
-
使用以下命令將映像推送至中國Amazon ECR儲存庫。
docker push image:<tag> <aws_account_id>.dkr.ecr.<cn-north-1>.amazonaws.com/image:<tag>
-
更新 Kubernetes 資訊清單檔案,以參考您區域中的Amazon ECR映像 URL。
-
-
使用下列命令套用資訊清單至您的叢集。
kubectl apply -f recommended.yaml
-
輸出:
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
步驟 3:建立 eks-admin
服務帳戶和叢集角色連結
預設情況下,Kubernetes 儀表板的使用者僅具備有限許可。在本節中,您將建立 eks-admin
服務帳戶和叢集角色連結,可在有管理層級許可的情況下用於安全地連接到儀表板。如需詳細資訊,請前往 Kubernetes 文件中的管理服務帳號
建立 eks-admin
服務帳戶和叢集角色連結
使用此程序建立的範例服務帳戶對叢集具備完整的 cluster-admin
(超級使用者) 權限。如需詳細資訊,請查看 Kubernetes 文件中的使用 RBAC 授權
-
以下列文字建立名為
eks-admin-service-account.yaml
的檔案。此資訊清單會定義服務帳戶和名為 的叢集角色連結。eks-admin
.apiVersion: v1 kind: ServiceAccount metadata: name: eks-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: eks-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: eks-admin namespace: kube-system
-
將服務帳戶和叢集角色繫結套用至您的叢集。
kubectl apply -f eks-admin-service-account.yaml
輸出:
serviceaccount "eks-admin" created clusterrolebinding.rbac.authorization.k8s.io "eks-admin" created
步驟 4:連接到儀表板
現在 Kubernetes 儀表板已部署到您的叢集,而您有可用於檢視和控制叢集的管理員服務帳戶,即可使用該服務帳戶來連接到儀表板。
連接到 Kubernetes 儀表板
-
擷取
eks-admin
服務帳戶的身分驗證字符。從輸出複製<authentication_token>
值。您可以使用此字符來連接到儀表板。kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')
輸出:
Name: eks-admin-token-b5zv4 Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name=eks-admin kubernetes.io/service-account.uid=bcfe66ac-39be-11e8-97e8-026dce96b6e8 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 11 bytes token: <authentication_token>
-
開始
kubectl proxy
。kubectl proxy
-
若要存取儀表板端點,請使用網頁瀏覽器開啟以下連結:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#!/login
. -
選擇 Token (字符),將前一個命令
<authentication_token>
的輸出貼到 Token (字符) 欄位中,然後選擇 SIGN IN (登入)。注意 這可能需要花費幾分鐘的時間 CPU 和記憶體指標才會出現在儀表板。
步驟 5:後續步驟
在連接到您的 Kubernetes 儀表板之後,可以使用您的 eks-admin
服務帳戶來查看和控制叢集。如需使用儀表板的詳細資訊,請參考 上的專案文件GitHub