×

DNS注意事项

目标集群的DNS域名与源集群的域名不同。默认情况下,应用程序在迁移后获得目标集群的FQDN。

要保留迁移应用程序的源DNS域名,请选择下面描述的两个选项之一。

将目标集群的DNS域名与客户端隔离

您可以允许发送到源集群DNS域名的客户端请求到达目标集群的DNS域名,而无需将目标集群暴露给客户端。

步骤
  1. 在客户端和目标集群之间放置一个外部网络组件,例如应用程序负载均衡器或反向代理。

  2. 在DNS服务器中更新源集群上的应用程序FQDN,以返回外部网络组件的IP地址。

  3. 配置网络组件,将接收到的源域应用程序请求发送到目标集群域的负载均衡器。

  4. *.apps.source.example.com域名创建通配符DNS记录,指向源集群负载均衡器的IP地址。

  5. 为每个应用程序创建一个DNS记录,指向目标集群前面外部网络组件的IP地址。特定DNS记录优先级高于通配符记录,因此在解析应用程序FQDN时不会发生冲突。

  • 外部网络组件必须终止所有安全的TLS连接。如果连接传递到目标集群负载均衡器,则目标应用程序的FQDN将暴露给客户端,并导致证书错误。

  • 应用程序不得向客户端返回引用目标集群域的链接。否则,应用程序的某些部分可能无法加载或正常工作。

设置目标集群以接受源DNS域名

您可以设置目标集群以接受源集群DNS域名中已迁移应用程序的请求。

步骤

对于非安全的HTTP访问和安全的HTTPS访问,请执行以下步骤

  1. 在目标集群的项目中创建一个路由,该路由配置为接受指向源集群中应用程序FQDN的请求。

    $ oc expose svc <app1-svc> --hostname <app1.apps.source.example.com> \
     -n <app1-namespace>

    有了这个新的路由,服务器将接受该FQDN的任何请求并将其发送到相应的应用程序Pod。此外,迁移应用程序后,将在目标集群域中创建另一个路由。请求使用这两个主机名中的任何一个访问已迁移的应用程序。

  2. 使用您的DNS提供商创建一个DNS记录,将源集群中应用程序的FQDN指向目标集群默认负载均衡器的IP地址。这将把流量从源集群重定向到目标集群。

    应用程序的FQDN解析到目标集群的负载均衡器。默认的Ingress Controller路由器接受对该FQDN的请求,因为该主机名的路由已公开。

对于安全的HTTPS访问,请执行以下附加步骤

  1. 将安装过程中创建的默认Ingress Controller的x509证书替换为自定义证书。

  2. 将此证书配置为在subjectAltName字段中包含源集群和目标集群的通配符DNS域名。

    新证书可用于保护使用任一DNS域名进行的连接。

其他资源

网络流量重定向策略

成功迁移后,您必须将无状态应用程序的网络流量从源集群重定向到目标集群。

重定向网络流量的策略基于以下假设

  • 应用程序Pod同时运行在源集群和目标集群上。

  • 每个应用程序都有一个包含源集群主机名的路由。

  • 包含源集群主机名的路由包含CA证书。

  • 对于HTTPS,目标路由器CA证书包含源集群通配符DNS记录的主题备用名称。

考虑以下策略,并选择满足您目标的策略。

  • 同时重定向所有应用程序的所有网络流量

    更改源集群的通配符DNS记录,使其指向目标集群路由器的虚拟IP地址(VIP)。

    此策略适用于简单的应用程序或小型迁移。

  • 重定向单个应用程序的网络流量

    为每个应用程序创建一个DNS记录,其中源集群主机名指向目标集群路由器的VIP。此DNS记录优先于源集群通配符DNS记录。

  • 逐步重定向单个应用程序的网络流量

    1. 为每个应用程序创建一个代理,该代理可以将流量定向到源集群路由器的VIP和目标集群路由器的VIP。

    2. 为每个应用程序创建一个DNS记录,其中源集群主机名指向代理。

    3. 配置应用程序的代理条目,以将一定比例的流量路由到目标集群路由器的VIP,其余流量路由到源集群路由器的VIP。

    4. 逐步增加路由到目标集群路由器VIP的流量百分比,直到所有网络流量都被重定向。

  • 基于用户的单个应用程序流量重定向

    使用此策略,您可以过滤用户请求的TCP/IP头,以重定向预定义用户组的网络流量。这允许您在重定向整个网络流量之前,在特定用户群上测试重定向过程。

    1. 为每个应用程序创建一个代理,该代理可以将流量定向到源集群路由器的VIP和目标集群路由器的VIP。

    2. 为每个应用程序创建一个DNS记录,其中源集群主机名指向代理。

    3. 配置应用程序的代理条目,以将匹配给定标头模式(例如test customers)的流量路由到目标集群路由器的VIP,并将其余流量路由到源集群路由器的VIP。

    4. 分阶段将流量重定向到目标集群路由器的VIP,直到所有流量都位于目标集群路由器的VIP上。