代码之家  ›  专栏  ›  技术社区  ›  gaut

如何在Pulumi上使用入口路径?

  •  0
  • gaut  · 技术社区  · 3 年前

    下列的 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}
    );
    
    0 回复  |  直到 3 年前
        1
  •  1
  •   gaut    3 年前

    发现问题在于我的应用程序希望从根url获得服务。