0

如何使用Kuma运行跨基于 VM 的环境和基于 Kubernetes 的环境的多云服务网格?

具体来说,服务发现将如何以这样一种方式工作,即基于 VM 的工作负载可以发现基于 K8s 的工作负载,反之亦然?

4

1 回答 1

1

Kuma 将所谓zone的控制隔离域定义为,即所有工作负载连接都由单个控制平面管理。这样的控制平面称为remote。整体视图和策略管理在global统一所有区域的控制平面中完成。

当一个人开始计划分布式部署时,他们必须列出以下项目:

  • 控制平面的Global部署位置及其类型。后者可以是Universal(VM/BareMetal/Container)或 Kubernetes(本地/云)。
  • 要添加的区域的数量和类型。这些可以随着时间而改变。

按照特定于所选部署类型的步骤,按照说明安装控制平面。global按照说明收集相关的 IP 地址/端口。

安装remote控制平面相当简单。在整个多区域部署的生命周期中,可以根据需要重复此过程。

此处简要介绍跨区服务消费。简而言之,我们建议使用以下语法来访问服务echo-server,部署在 Kubernetes 命名空间中echo-example并暴露在端口上1010

<kuma-enabled-pod>$ curl http://echo-server_echo-example_svc_1010.mesh

使用此语法,甚至可以从工作负载在 VM 中运行的相邻通用区域中找到和使用该服务。Kuma 利用自己的 DNS 服务,允许这种服务发现。

建议在 VM 中声明的服务遵循相同的服务命名格式,以便如果需要在 Kubernetes 集群中拥有服务副本,它们可以轻松互换,而无需重新配置整个基础架构。

于 2020-08-24T14:31:19.000 回答