我们的组织有许多面向公众的门户网站,这些门户网站已迁移到PCF。作为此过程的一部分,有多个团队在一个组织内组织,这些团队为在同一DNS域下托管的应用程序工作,例如test.domain.com
。
现在,假设我们有两个团队在Org1下的Space1和Space2中开发和部署代码。这两个团队都需要将其应用程序托管在test.domain.com
下。我们面临的问题是,如果test.domain.com
在PCF空间1中创建为共享域,则在Space2上不允许相同的组合。跨空间的主机不能相同。因此,现在我们需要为需要在不同空间中创建的每条路线添加唯一的主机。
app1-test.domain.com/app1-path/abc
app2-test.domain.com/app2-path/xyz
我希望被允许的是:
test.domain.com/app1-path/abc
test.domain.com/app2-path/xyz
是否有任何方法可以在PCF中实现这种行为?
这可以工作,但前提是您的域是私有域。如果您的管理员创建了共享域,则将不允许您执行此操作。
Ex:
$ cf create-domain dmikusa test.example.com
Creating domain test.example.com for org dmikusa as [email protected]...
OK
$ cf domains
Getting domains in org dmikusa as [email protected]...
name status type details
cfapps.io shared
cf-tcpapps.io shared tcp
apps.internal shared internal
test.example.com owned
$ cf create-route team-1 test.example.com --path foo
Creating route test.example.com/foo for org dmikusa / space team-1 as [email protected]...
Route test.example.com/foo has been created.
OK
$ cf create-route team-2 test.example.com --path bar
Creating route test.example.com/bar for org dmikusa / space team-2 as [email protected]...
Route test.example.com/bar has been created.
OK
如果您要在共享域上尝试相同的操作,它将失败。
$ cf create-route team-1 cfapps.io --hostname my-super-cool-app --path foo
Creating route my-super-cool-app.cfapps.io/foo for org dmikusa / space team-1 as [email protected]...
Route my-super-cool-app.cfapps.io/foo has been created.
OK
$ cf create-route team-2 cfapps.io --hostname my-super-cool-app --path foo
Creating route my-super-cool-app.cfapps.io/foo for org dmikusa / space team-2 as [email protected]...
The path is taken: /foo
FAILED
the bottom of this section上的文档中有一个脚注:
注:具有相同域和主机名但路径不同的路由只能在同一空间中创建。私有域没有此限制。
希望有帮助!