在AWS EKS部署Rancher后无法访问dograbbit.org的技术求助
AWS EKS部署Rancher后无法通过域名访问的排查与解决
问题核心
你当前的Rancher Ingress存在两个关键问题:
- Ingress CLASS为
<none>,说明集群中没有部署对应的NGINX Ingress Controller,Ingress规则无法被执行 - Ingress ADDRESS为空,没有关联到可对外访问的负载均衡地址,导致域名无法指向服务
解决方案步骤
1. 部署NGINX Ingress Controller到EKS集群
你在Rancher安装时指定了letsEncrypt.ingress.class=nginx,必须先部署对应Ingress Controller:
# 添加NGINX Ingress仓库 helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update # 安装NGINX Ingress Controller(默认创建AWS Network Load Balancer) helm install ingress-nginx ingress-nginx/ingress-nginx \ --namespace ingress-nginx \ --create-namespace \ --set controller.service.annotations."service\.beta\.kubernetes\.io/aws-load-balancer-type"="nlb"
安装完成后,获取Ingress Controller的负载均衡地址:
kubectl get svc -n ingress-nginx # 记录 ingress-nginx-controller 服务的 EXTERNAL-IP 字段
2. 配置域名DNS解析
将dograbbit.org域名的A记录指向上述获取到的负载均衡EXTERNAL-IP,操作根据你的域名服务商完成,确保域名能解析到该IP。
3. 修复Rancher Ingress的CLASS配置
将Rancher Ingress的CLASS指定为nginx,让控制器识别并处理规则:
kubectl patch ingress rancher -n cattle-system \ --type merge \ --patch '{"spec":{"ingressClassName":"nginx"}}'
4. 验证Cert-Manager证书签发状态
你使用了Let's Encrypt签发证书,需确认证书是否正常生成:
# 查看cattle-system下的证书资源 kubectl get certificates -n cattle-system # 正常状态应为 Ready
若证书状态异常,查看cert-manager日志排查:
kubectl logs -n cert-manager -l app=cert-manager
5. 验证访问
等待DNS解析生效后,在Chrome中访问https://dograbbit.org,使用设置的bootstrapPassword=admin登录即可。
内容的提问来源于stack exchange,提问作者狗狗兔兔
相关产品推荐
相关产品推荐

