3.7. DNS
OpenShift 4 安装程序大大简化了之前 OpenShift 在 OpenStack 安装上所看到的 DNS 要求。集群、证书验证和 bootstrap 的所有内部 DNS 解析都通过自托管、安装程序控制的解决方案提供。
使用这个解决方案,control plane 节点、worker 节点和 bootstrap 节点不需要将其 IP 手动或动态添加到公共 DNS 形式,它完全被自包含。
通过此解决方案,不需要运行自托管名称服务器,也不需要设计 DNSaaS 项目等外部解决方案。
3.7.1. DNS 注意事项 复制链接链接已复制到粘贴板!
您必须满足以下要求才能完成安装:
- 安装主机必须解析 OpenShift API 地址。
- 节点必须能够解析容器 registry 的地址,才能下载容器镜像。
安装完成后,您必须满足以下要求:
- 通配符域必须解析到入口端口。
3.7.1.1. API DNS 复制链接链接已复制到粘贴板!
在安装集群前,需要在 DNS 中有一个可访问的 IP 地址。以下地址空间必须解析:
api.<cluster name>.<base domain>
api.<cluster name>.<base domain>
安装程序可以通过 install-config.yaml 的 OpenStack platform 部分的 apiFloatingIP 值自动将现有浮动 IP 与 API 端口关联:
有关如何将 OpenShift 的 API 地址分配给特定的浮动 IP 值的示例。
platform:
openstack:
...
apiFloatingIP: "10.46.43.176"
platform:
openstack:
...
apiFloatingIP: "10.46.43.176"
3.7.1.2. Apps DNS 复制链接链接已复制到粘贴板!
此域用于访问 OpenShift 中运行的应用。在 DNS 中,您可以创建一个通配符条目来解析以下命名结构:
*.apps.<cluster name>.<base domain>.
*.apps.<cluster name>.<base domain>.
您可以使用 install-config.yaml 中的 ingressFloatingIP 值自动将 OpenShift apps IP 与集群关联。不要将 ingressVIP 与 ingressFloatingIP:ingressVIP 混淆: ingressVIP 用于 Machine 网络,ingressFloatingIP 来自外部网络。
3.7.1.3. Bootstrap 节点 复制链接链接已复制到粘贴板!
bootstrap 节点必须能够直接解析 registry 域名,因为它检索基本资源来支持 bootstrap 和生产集群。
3.7.1.4. 其他 DNS 功能 复制链接链接已复制到粘贴板!
3.7.1.4.1. externalDNS 复制链接链接已复制到粘贴板!
没有向租户子网提供名称解析的 OpenStack 租户可以使用 install-config.yaml 中的可选 externalDNS 值在 OpenShift 安装过程中设置它。ExternalDNS 指示安装程序将 DNS IP 添加到它所创建的 OpenShift 子网中。这个值是一个数组,以便它可以包含多个条目:
有关如何设置每个安装程序创建的子网 DNS 值的示例。
externalDNS: ["203.0.113.1", ”203.0.113.2”]
externalDNS: ["203.0.113.1", ”203.0.113.2”]
您必须手动将 externalDNS 添加到安装文件中。在指导安装中不提供 ExternalDNS。
3.7.2. 红帽测试的解决方案:DNS 复制链接链接已复制到粘贴板!
在我们的解决方案中,我们预先分配和预配置了 DNS 中的两个浮动 IP,以提供 API 地址和应用程序地址。
我们还使用 externalDNS 参数来允许安装程序构建的子网为其实例提供外部 DNS 解析。