如何在安装了 Knative 和 Istio 的 k8 集群中为非 knative 服务配置路由?

如何在安装了 Knative 和 Istio 的 k8 集群中为非 knative 服务配置路由?

我安装了 Knative,并使用 Istio 作为网络层(无需注入)。kubernetes 集群使用 Istio 入口网关作为默认入口。大多数 Knative 服务的路由由 Knative 和 Istio 自动管理。

但是,我尝试在同一个集群上运行 nifi 原生 kubernetes 服务,如何在 Istio 入口网关上为服务设置入口配置。有什么参考资料可以分享吗?

或者是否可以在集群中设置 2 个入口(1 个 Istio,1 个 nginx),并让原生 k8 服务使用 nginx 入口?

我这样做是因为 istio 对我来说很新,并且 Knative 在部署 knative 服务时抽象了 Istio 网络元素,但没有抽象原生的 k8 服务。

希望我的问题有意义。谢谢。

答案1

您应该能够使用标准 Istio虚拟服务对象将域映射到 Kubernetes 服务(如 Istio 文档中所述),假设您不与 Knative 已经提供服务的域重叠。

答案2

如何在安装了 Knative 和 Istio 的 k8 集群中为非 knative 服务配置路由?

就像在 istio-only 集群(没有 knative)中一样。

knative 的工作方式类似于插件;它添加了一些功能;它不会删除/隐藏任何 istio 功能。istio 也是如此 - 它为 k8s 添加了更多功能,但不会删除任何 k8s 核心功能。您可以随时使用 istio 和 k8s 的所有功能。


如何在 Istio 入口网关上为服务设置入口配置

查看bookinfo 示例本示例部署了一个由四个独立的微服务组成的示例应用程序,用于演示各种 Istio 功能。尝试对其进行分析。


是否可以在集群中设置 2 个入口(1 个 Istio,1 个 nginx),并让原生 k8 服务使用 nginx 入口?

对的,这是可能的。

相关内容