我们目前正在建立一个 kubernetes 集群来部署我们的生产工作负载(主要是 http 休息服务)。在这个集群中,我们设置了 nginx 入口控制器来将流量从外部世界路由到我们的服务。由于入口控制器将主要用于路径路由,因此我确实有以下问题:
是否可以将流量路由到后端,而无需在入口规范中具体指定后端名称?例如,我有以下入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /apple
backend:
serviceName: apple-service
servicePort: 8080
是否有可能将 /apple 请求路由到 apple-service 而没有在 serviceName 中专门指定它?那么/apple 自动路由到apple-service 服务,/orange 自动路由到orange 服务而不显式指定后端名称?
如果没有解决方案 1 以便我们可以根据某些约定进行部署,那么现在的问题是如何以自动化方式管理入口。由于服务将通过自动化 CI/CD 管道进行部署,并且在将服务添加到集群时可能会添加新路径,那么在部署应用程序时,ci/cd 编排器(例如 jenkins)如何更新入口路由?这样我们就可以确定,不需要人工干预集群,并且每条路由都与相应的服务一起部署?
我希望所提供的信息足以理解这个问题。非常感谢您的支持。
第 2 点的解决方案最终是每个服务部署都可以与每个自己的入口一起部署,因此不需要第 1 点。也就是说,您可以部署多个入口规则。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句