第 4 章 规划注意事项

本节介绍了规划从 OpenShift Container Platform 3 迁移到 4 的注意事项和策略。

4.1. DNS 注意事项

OpenShift Container Platform 4 目标集群的 DNS 域与 OpenShift Container Platform 3 源集群的域不同。默认情况下,应用程序在迁移后获取 OpenShift Container Platform 4 集群的 FQDN。

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

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

您可以允许发送到源集群的 DNS 域的客户端请求访问目标集群的 DNS 域,而无需将目标集群公开给客户端。

流程

  1. 在客户端和 OpenShift Container Platform 4 集群之间放置 exterior 网络组件,如应用程序负载均衡器或反向代理。
  2. 更新 DNS 服务器中的原始应用程序 FQDN(app1.apps.ocp3.example.com,以返回到 exterior 网络组件的 IP 地址。
  3. 配置网络组件,将源域中应用程序收到的请求发送到目标 OpenShift Container Platform 4 集群域中的负载均衡器。
  4. *.apps.ocp3.example.com 域创建一个通配符 DNS 记录,指向源集群的负载均衡器的 IP 地址。
  5. 为每个应用程序创建一个特定的 DNS 记录,指向目标集群前面的 exterior 网络组件的 IP 地址。特定的 DNS 记录的优先级高于通配符记录,因此在解决应用 FQDN 时不会发生冲突。
注意
  • 外部网络组件必须终止所有安全的 TLS 连接。如果连接传递到 OpenShift Container Platform 4 负载均衡器,则目标应用程序的 FQDN 会公开给客户端和服务器错误。
  • 应用程序不得将引用目标集群域的链接返回给客户端。否则,应用的某些部分可能无法加载或正常工作。

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

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

流程

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

  1. 为源集群中使用的应用程序的主机名在应用程序项目中创建路由:

    $ oc expose svc app1-svc --hostname app1.apps.ocp3.example.com \
     -n app1-namespace

    新路由就位后,服务器接受对该 FQDN 的任何请求,并将它发送到对应的应用容器集。另外,当迁移应用程序时,则在目标集群域中创建另一个路由(app1.apps.ocp4.example.com)。请求可以使用这两个主机名到达迁移的应用程序。

  2. 在路由主机名参数中为 FQDN 创建特定的 DNS 记录,该记录指向目标集群的默认负载均衡器的 IP 地址。特定的 DNS 记录优先于通配符记录。

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

对于安全 HTTPS 访问,请执行以下步骤:

  1. 将在安装过程中创建的默认入口控制器的 x509 证书替换为自定义证书。
  2. 将这个证书配置为在 subjectAltName 字段中为源和目标集群包含通配符 DNS 域。

    新证书可用于保护使用两个 DNS 域之一进行的连接。

其他资源