我正在尝试在正在试验的集群中使用Istio Ingress,但是我不确定如何解决Istio(或今天是否可解决)中的一个突出问题是委派所有权的能力子域到给定名称空间的方式,这样就不必担心两个竞争的项目/名称空间可以声明对bar.foo.com
的所有权。
我能找到的最好的例子是Heptio Contour,它允许您定义根IngressRoute
来将对子域的责任委派给特定的名称空间。
https://github.com/heptio/contour/blob/master/docs/ingressroute.md#across-namespaces
Istio是否可能?我还没有在文档中找到关于这种设置的任何信息。
答案 0 :(得分:0)
尽管Istio和Heptio Contour由Envoy代理提供支持,但它们代表了一些不同的方法以及执行特定流量管理任务的方式。与Heptio Contour不同,Istio的设计具有严格定义的内部Istio资源集,这些资源由特定的CRDs组成,这些资源不基于本地Kubernetes Ingress API。
根据Istio官方文档,Ingress资源在Istio Gateway配置中表示。因此,Istio通过VirtualService资源管理流量路由,并在同一名称空间中声明路由规则,没有例外,将路径路由委托给位于单独名称空间的基础对象。
因此,从概念上讲,Istio被设计为边缘网关,但是与Heptio Contour相比,它在Authentication和Authorization方面表现出更为复杂的方式。