您可以为每个Web应用程序创建一个入口资源。如果你搜索官方的公共图表报告,你会看到
many of the charts define an ingress resource within them
. 每个应用程序定义自己的入口资源是正常的。
值得注意的是,入口资源只是路由规则的定义。(它不添加额外的入口控制器或任何其他额外的运行时组件。)因此应用程序定义自己的路由规则非常有意义。
您给出的示例在一个资源定义中具有所有入口路由。当您有几个相关的应用程序时,这种方法很容易掌握,并且很有意义,因为那时您可能希望看到它们的路由配置在一起。你也可以在
fanout ingress example in the kubernetes docs
.
我看不到在不同的资源中单独定义规则的性能问题。入口控制器将
listen for new rules
只有在创建新规则时才更新其配置,这样读取资源就不会有问题。我希望组合的和分离的选项能够在nginx的后台设置相同的路由规则。
官方图表报告中最常见的模式是,每个应用程序的图表定义其入口资源,并通过values.yaml公开它,以便用户可以选择启用或自定义它。然后您可以组合多个图表,并在values.yaml的相关部分为每个图表配置规则。(这里是一个
example I've worked on that does this
也可以在自己的helm版本下分别部署每个应用程序。