OpenShift 集群中的多个通配符 DNS 值

Multiple wildcard DNS values in an OpenShift cluster

OpenShift 安装手册详细介绍了将附加到路由 URLs 的通配符 DNS 的使用。它在 Ansible 主机文件中设置,例如:

openshift_master_default_subdomain=cloud.myorg.com

我一直在几个客户中工作,虽然只有一个 OCP 集群,但它们有不同的子域,具体取决于环境(OCP 项目)。例如:

project: departament1-dev
subdomain: clouddev.myorg.com
App URL: myapp-department1-dev.clouddev.myorg.com

project: departament1-uat
subdomain: cloudpre.myorg.com
App URL: myapp-department1-uat.cloudpre.myorg.com

project: departament1-pro
subdomain: cloud.myorg.com
App URL: myapp-department1-pro.cloud.myorg.com   

project: departament2-dev
subdomain: clouddev.myorg.com
App URL: myapp-department2-dev.clouddev.myorg.com

project: departament2-uat
subdomain: cloudpre.myorg.com
App URL: myapp-department2-uat.cloudpre.myorg.com

project: departament2-pro
subdomain: cloud.myorg.com
App URL: myapp-department2-pro.cloud.myorg.com

1) 如何在集群中配置多个子域(与 OCP 项目关联)?

2) 这是一个好习惯吗?我听起来像是在 URL.

中直接区分环境的好方法

这可以通过额外的 DNS 条目和自定义路由配置来解决。

在 OpenShift 安装期间设置的通配符子域主要是为了方便开发人员并降低需要为每个 OpenShift 路由请求单独的 DNS 条目和证书的操作复杂性。运营团队只需设置一个通配符 DNS 名称和证书,其余的将由所有未来的应用程序处理。

不需要但是所有路由都使用通配符子域 DNS 名称,事实上,出于安全原因,这不是推荐用于生产用例的名称(如证据所示)事实上,IETF recommends against using wildcard certificates). You can use any DNS name you like for a given route as long as the value matches what is configured in the Route's spec.host 字段和 DNS 名称解析为 OpenShift 主机 运行 HAProxy 路由器。

不幸的是,您只能在 OpenShift master 主机上的 master-config.yml 文件中配置一个 routing subdomain,因此在您的情况下,每个 other 通配符route 必须手动包含在这些路由定义中,但多个通配符 DNS 条目至少减少了 DNS records/tickets.

的数量