我们正在尝试将我们的微服务体系结构迁移到K8s和Istio。我们将有两个k8s不同的集群。每个前端应用程序一个,后端应用程序另一个。我们最初的想法是将每个集群配置为一个独立的Istio网格。
我的怀疑是;
当前端应用程序针对后端应用程序执行请求时,我们能保持集群之间的位置感知路由吗?
我已经读过,如果在K8s集群中有一个网格分布是可能的,但我不确定当网格联邦体系结构实现时,这个特性是否能继续工作。
谢谢!
发布于 2020-03-24 16:51:42
有一个类似于istio多集群配置的功能。
根据您的需求,可以有不同类型的多集群模型。
根据伊蒂奥文档:
在配置Istio的生产部署时,您需要回答许多问题。网格是否仅限于一个集群,还是分布在多个集群中?所有服务是否都位于一个完全连接的网络中,还是需要网关才能跨多个网络连接服务?是否存在跨集群共享的单一控制平面,或者是否部署了多个控制平面以确保高可用性(HA)?如果部署了多个集群,更具体地说是在孤立的网络中,那么它们将被连接到一个多集群服务网格中,还是会被联合成多个网格部署? 除其他外,所有这些问题都代表了Istio部署的独立配置维度。
所有组合都是可能的,尽管有些组合比其他组合更常见,而有些组合显然不是很有趣(例如,单个集群中的多个网格)。
至于网格功能:
单网格 最简单的Istio部署是一个单一的网格。在网格中,服务名称是唯一的。例如,只有一个服务可以在
mysvc名称空间中具有foo名称。此外,工作负载实例共享一个公共标识,因为服务帐户名称在命名空间中是唯一的,就像服务名称一样。 单个网格可以跨越一个或多个簇和一个或多个网络。在网格中,命名空间用于租赁。 多重网格 多个网格部署是由网格联合产生的。 多个网格提供了一个网格之外的以下功能:
default命名空间的多个不同用途您可以启用与网格联合的网格间通信。在联合时,每个网格都可以公开一组服务和标识,所有参与的网格都可以识别这些服务和标识。
为了避免服务命名冲突,您可以为每个网格提供一个全局唯一的网格ID,以确保每个服务的完全限定域名(FQDN)是不同的。
当联合两个不共享相同信任域的网格时,您必须在它们之间联合标识和信任包。有关概述,请参阅关于多信任域的部分。
因此,我建议将多集群模型应用于您的需要。最简单的解决办法通常是最好的。单网格多集群确实允许为您的多集群环境命名位置。
还有多集群istio的进阶示例,它使用海军上将,允许定制命名。
希望能帮上忙。
https://stackoverflow.com/questions/60832922
复制相似问题