将Apex域名指向Openshift ROSA应用

39次阅读
没有评论

问题描述

在使用ROS(AWS上的Openshift)集群时,遇到了一个问题。他们的所有域名都能正常工作,除了一个特殊的域名,该域名是他们在Route53中托管区域的顶级域名。用户已经在Openshift集群中创建了一个CustomDomain,该CustomDomain可以正常工作于其子域名,例如www.example.com。这是通过一个通配符CNAME记录实现的,该记录将所有*.example.com的查询指向zhfsrc.example-com.test.plvo.p1.openshiftapps.com。现在,用户缺少一个A记录,导致无法正常工作。用户遇到了以下限制:
– 顶级域名不能是CNAME记录
– Route53中的A记录不能指向CNAME记录
– 没有资源可以作为A记录的别名(尝试过Openshift的负载均衡器)
– Route53中不支持CNAME扁平化

用户认为这是一个非常基本的用例 – 通过AWS注册的域名指向Openshift应用程序,但是Red Hat和AWS的支持团队都无法提供帮助。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

最终,AWS的支持团队提供了帮助,解决方案涉及到RH和Route53之间的一些模糊之处。下面是解决方案的步骤:
1. 找到由Openshift管理的Hosting Zone中的端点。在本例中,端点是*.example-com.test.plvo.p1.openshiftapps.com
2. 注意它指向的弹性负载均衡器(”Value/Route traffic to”列)。
3. 返回相关的Hosting Zone,并添加一个A记录,将其作为别名指向相同区域中的相同ELB。
– 记录名称:example.com
– 记录类型:A
– 路由流量到:[x] 别名
– 别名到应用程序和经典负载均衡器
– [ROS集群所在的区域]
– [dualstack.您的ELB的ID.elb.amazonaws.com.]

这样,60秒后,A记录就会生效。

感谢AWS的支持!

方案2

如果方案1无法解决问题,您可以尝试以下方法:
1. 在Route53中创建一个新的托管区域,将您的顶级域名指向该区域的名称服务器。
2. 在新的托管区域中创建一个A记录,将其指向Openshift应用程序的IP地址。
3. 在原始托管区域中创建一个A记录,将其指向新的托管区域中的A记录。

请注意,这种方法可能会增加一些复杂性,并且需要确保DNS记录的正确设置。

以上是解决这个问题的两种方案。您可以根据您的具体情况选择适合您的方案。

希望对您有所帮助!

正文完