我想在 Amazon Elastic Kubernetes Service(Amazon EKS)集群上设置一个 Kubernetes 控制面板。
解决方法
在完成解决步骤之前,必须具备以下条件:
- 带有 kubectl 和 helm 二进制文件的 Amazon Elastic Compute Cloud(Amazon EC2)实例或用户系统。
- 一个已配置的 kubeconfig 文件,且该文件指向正确的 Amazon EKS 集群。有关更多信息,请参阅自动创建 kubeconfig 文件。
部署 Kubernetes 控制面板
要在 Amazon EKS 集群上部署 Kubernetes 控制面板,请运行以下命令:
$ DASHBOARD_VERSION="7.4.0"
$ helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
$ kubectl create ns kubernetes-dashboard
$ helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --namespace kubernetes-dashboard --version ${VERSION}
注意: 使用相应的 Kubernetes 控制面板版本标签值替换 DASHBOARD_VERSION。
有关如何部署 Kubernetes 控制面板的更多信息,请参阅 Kubernetes 网站上的 Deploying the Dashboard UI。要查看最新的可用版本标签,请参阅 GitHub 网站上的 Kubernetes Dashboard release 页面。
访问 Kubernetes 控制面板 UI
要访问 Kubernetes 控制面板 UI,请完成以下步骤:
- 将所有请求从 Amazon EC2 实例的本地端口路由到 Kubernetes 控制面板服务端口。要开启端口转发,请运行以下命令:
$ kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443 --address Amazon_EC2_Private_IP
**注意:**将 Amazon_EC2_Private_IP 替换为您的 Amazon EC2 实例的私有 IP 地址。
- 要访问 Kubernetes 控制面板,请使用以下地址:https://Amazon_EC2_Public_IP:8443
- 出现提示时,输入令牌或 kubeconfig 文件。
- 要在 Kubernetes 控制面板登录页面上获取用于身份验证的持有者令牌,请从本地计算机终端运行以下命令:
$ aws eks get-token --cluster-name ClusterName --region Region | jq -r '.status.token'
**注意:**将 ClusterName 和 Region 替换为您的集群名称和 AWS 区域。
- 从终端输出中复制令牌。
- 在浏览器的 Kubernetes 控制面板登录页面弹出窗口中,选择令牌。将复制的令牌填入输入令牌框中。
- 选择登录,在浏览器中访问 Kubernetes 控制面板。
相关信息
GitHub 网站上的 Kubernetes Dashboard