我们的组织有许多面向公众的门户网站正在迁移到PCF。作为其中的一部分,有多个团队在一个组织下构建,为托管在同一DNS域下的应用程序工作,例如test.domain.com
。
现在,假设我们有两个团队在Org1下的Space1和Space2中开发和部署代码。这两个团队都需要在test.domain.com
下托管他们的应用程序。我们面临的问题是,如果在PCF Space 1中将test.domain.com
创建为共享域,则在Space2上不允许使用相同的组合。主机不能在空间之间相同。因此,现在我们需要为我们需要在不同空间中创建的每条路由添加一个唯一的主机。
- 空间1:
app1-test.domain.com/app1-path/abc
- 空间2:
app2-test.domain.com/app2-path/xyz
我希望被允许的是:
- 空间1:
test.domain.com/app1-path/abc
- 空间2:
test.domain.com/app2-path/xyz
有什么方法可以在PCF中实现这种行为吗?
这可以工作,但前提是您的域是私有域。如果管理员创建了共享域,则不允许您执行此操作。
例如:
$ cf create-domain dmikusa test.example.com
Creating domain test.example.com for org dmikusa as dmikusa@pivotal.io...
OK
$ cf domains
Getting domains in org dmikusa as dmikusa@pivotal.io...
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 dmikusa@pivotal.io...
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 dmikusa@pivotal.io...
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 dmikusa@pivotal.io...
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 dmikusa@pivotal.io...
The path is taken: /foo
FAILED
在本节底部的文档中有一个脚注:
注意:具有相同域和主机名但路径不同的路由只能在同一空间中创建。私有域没有此限制。