下列的
this pulumi walkthrough
,我需要公开2个服务:
kuard
和
rstudiogp
通过nginx入口控制器。kuard应用程序只是为了证明kubernetes已经启动,rstudio应用程序是我想添加到集群中的东西。
apps.example.com
,以及
apps.example.com/rstudio
.然而,我只能通过将其中一个主机更改为例如,使两个主机同时联机
apps.example.rstudio.com
,所以我有两个主机,而不是一个。
难道不能使用入口路径来公开使用相同入口规则的两个服务吗?如何使用相同的主机名以不同的路径访问两个服务,例如。
apps.example.com/kuard
和
应用程序。实例com/rstudio
?
curl -Lv -H 'Host: apps.example.com' <PUBLIC-IP>
.
当前夸德入口:
// Create the kuard Ingress
const ingress = new k8s.extensions.v1beta1.Ingress(namekuard,
{
metadata: {
labels: labels,
namespace: namespaceName,
annotations: {"kubernetes.io/ingress.class": "nginx"},
},
spec: {
rules: [
{
host: "apps.example.com",
http: {
paths: [
{
path: "/",
backend: {
serviceName: serviceName,
servicePort: "http",
}
},
],
},
}
]
}
},
{provider: clusterProvider}
);
当前RStudio入口(请参阅我尝试但未成功的注释行):
const ingress_rs = new k8s.extensions.v1beta1.Ingress(rsname,
{
metadata: {
labels: labels_rs,
namespace: namespaceName,
annotations: {"kubernetes.io/ingress.class": "nginx"},
},
spec: {
rules: [
{
host: "apps.example.rstudio.com",
http: {
paths: [
{
path: "/",
backend: {
serviceName: serviceName_rs,
servicePort: "http",
}
},
// {
// path: "/rstudio",
// pathType: "Prefix",
// backend: {
// serviceName: serviceName_rs,
// servicePort: "http",
// }
// },
],
},
}
]
}
},
{provider: clusterProvider}
);