问题描述
在使用Amazon EKS创建了Kubernetes集群后,想要访问Web UI以管理集群,但是在尝试访问时遇到了问题。他已经获取到了集群的API端点URL,但在浏览器中访问时没有提示输入用户名和密码。用户尝试了一些方法,但遇到了”403 Forbidden”错误。用户期望能够获取到登录集群Web UI的URL和默认凭据。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
步骤1:部署Kubernetes Dashboard
在Amazon EKS中,Kubernetes的Web UI(Dashboard)需要手动部署。你可以参考官方文档来详细了解如何在EKS中部署Kubernetes Dashboard。下面是一个简要的步骤概述:
- 登录到AWS管理控制台。
- 导航到Amazon EKS控制台页面。
- 选择要部署Dashboard的集群。
- 在左侧导航栏中,选择“配置”。
- 在“Kubernetes Dashboard”部分,选择“部署”。
- 按照文档中的步骤完成Dashboard的部署。
步骤2:访问Kubernetes Dashboard
在部署完成后,你可以按照以下步骤来访问Kubernetes Dashboard:
- 打开终端并运行以下命令以获取用于访问Dashboard的Token:
sh
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}') 复制输出中的Token。
启动代理以创建本地连接:
sh
kubectl proxy在浏览器中访问以下URL以打开Dashboard:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
在弹出的窗口中选择“Token”选项并粘贴之前复制的Token,然后点击“Sign in”。
这样就可以成功访问并登录Kubernetes Dashboard了。
注意事项和常见问题解决
- 如果在访问Dashboard时遇到问题,首先确保按照官方文档的指引操作。如果问题仍然存在,可以尝试以下步骤来解决:
- 确保你的电脑可以访问EKS集群的API端点。
- 检查Kubernetes Dashboard的Pod是否正常运行:
sh
kubectl get pods -n kube-system | grep kubernetes-dashboard 确保你使用的kubectl版本与集群兼容。
如果你在访问Dashboard时需要通过代理,但遇到连接问题,可以尝试以下步骤:
- 确保代理已经成功启动并监听在8001端口。
- 检查是否有防火墙或网络代理等因素影响了代理的连接。
请按照以上步骤操作,你将能够成功访问并登录通过Amazon EKS创建的Kubernetes集群的Web UI。
另一种方法:使用kubectl port-forward
如果你希望直接在本地访问Dashboard而不使用代理,你可以使用kubectl port-forward
命令。以下是基本的步骤:
运行以下命令以将Dashboard服务端口转发到本地:
sh
kubectl -n kube-system port-forward service/kubernetes-dashboard 8443:443然后在浏览器中访问以下URL:
https://localhost:8443
请根据你的需求选择合适的方法来访问Kubernetes Dashboard。
请注意:本文提供的操作步骤和命令可能会因版本差异而有所不同。请参考官方文档和适用版本的文档以获取准确的信息。