单个K8s群集和Nginx控制器上的多环境

单个K8s群集和Nginx控制器上的多环境,nginx,kubernetes,nginx-ingress,Nginx,Kubernetes,Nginx Ingress,我们希望有1个k8s集群,并通过URI“/developerName”分隔开发人员的环境,使每个开发人员都能够部署他们的环境,以及一个NS,其中应用程序的每个部署都将部署在不同的NS上 该应用程序是一个基于tomcat的遗留web应用程序 我正在寻找一种很好的方法,可以根据URL将每个开发人员的流量路由到不同的部署 有1个限制,其中应用程序只需要URL中的应用程序名称。 i、 e example.com/username/appname不工作,因为应用程序只需要example.com/appna

我们希望有1个k8s集群,并通过URI“/developerName”分隔开发人员的环境,使每个开发人员都能够部署他们的环境,以及一个NS,其中应用程序的每个部署都将部署在不同的NS上

该应用程序是一个基于tomcat的遗留web应用程序

我正在寻找一种很好的方法,可以根据URL将每个开发人员的流量路由到不同的部署

有1个限制,其中应用程序只需要URL中的应用程序名称。 i、 e example.com/username/appname不工作,因为应用程序只需要example.com/appname


我已经成功部署了Nginx入口控制器,并检查了它在我不使用路径中的“/developername”时的工作情况。您可以使用入口资源。使用不同的主机名配置每个环境:

apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:入口
名称空间:developer1
规格:
规则:
-主机:developer1.mytestdomain.com
http:
路径:
-后端:
serviceName:mytomcat服务
服务端口:8080
路径:/
tls:
-主持人:
-developer1.mytestdomain.com
秘籍名称:mysslssecret

然后在
*.mytestdomai.com
上设置一个通配符域。所以,您不必在每次构建环境时都添加子域。如果您不需要
https

您可以使用入口资源,请跳过
tls
部分。使用不同的主机名配置每个环境:

apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:入口
名称空间:developer1
规格:
规则:
-主机:developer1.mytestdomain.com
http:
路径:
-后端:
serviceName:mytomcat服务
服务端口:8080
路径:/
tls:
-主持人:
-developer1.mytestdomain.com
秘籍名称:mysslssecret

然后在
*.mytestdomai.com
上设置一个通配符域。所以,您不必在每次构建环境时都添加子域。如果您不需要
https

我正在寻找自动化,请跳过
tls
部分。我不想为我正在创建的每个开发人员或环境创建子域。你不需要这样做。只需创建一个通配符域!哇,太简单了。我不明白我怎么会错过它。我想补充最后一点作为你回答的一部分。(使用通配符)我希望实现自动化。我不想为我正在创建的每个开发人员或环境创建子域。你不需要这样做。只需创建一个通配符域!哇,太简单了。我不明白我怎么会错过它。我想补充最后一点作为你回答的一部分。(使用通配符)