Eclipse Che 与 Istio 一样的自定义 Ingress

Eclipse Che with custom Ingress like Istio

是否可以 运行 Eclipse-Che 使用像 Istio 这样的 "custom" Kubernetes Ingress?

我可以在 Docker-For-Mac(例如 minikube 插件启用入口)和端口转发 8080 和 8087 上安装带 Hel​​m 的 Eclipse-Che - 但创建项目失败 - Ingress error

Istio 网关是一个 replacement for a typical Kubernetes ingress controller 而不仅仅是入口控制器的一个实例,它有自己的资源类型(虚拟服务)。所以这是一个具有挑战性的问题。

Eclipse Che 确实允许您配置它放置在入口上的注释(有关详细信息,请参阅配置映射),因此您可以使用除默认的 NGINX 之外的其他入口控制器,但 Che 绝对会创建每个工作区都有一个 Ingress 来路由流量,如果没有某种入口控制器,这将无法工作。

所以您有几个选项,这两个选项都涉及与 Istio 一起部署入口控制器:

  1. 您可以部署一个入口控制器,并允许它从您的提供商那里获得一个单独的外部 IP,或者将其配置为 NodePort 并以这种方式将流量路由到它。这有效地绕过了 Istio,使流量流向 Eclipse Che。
  2. 您可以利用入口控制器包含常规 Kubernetes 服务这一事实,方法是创建一个 Istio 虚拟服务,该服务根据您为 Eclipse Che 选择的主机名或通配符将流量路由到入口控制器的服务。然后入口控制器路由到 Che 服务器或特定工作区。这为流向 Eclipse Che 的流量增加了一个额外的路由步骤,但它的优势在于您可以为该流量利用现有的网关和配置。

希望在未来 Eclipse Che 将支持创建 Istio 虚拟服务作为为每个工作区创建 Ingress 的替代方案,但在这成为现实之前,需要一些东西来弥合差距。