如何使用Kuma运行跨基于 VM 的环境和基于 Kubernetes 的环境的多云服务网格?
具体来说,服务发现将如何以这样一种方式工作,即基于 VM 的工作负载可以发现基于 K8s 的工作负载,反之亦然?
如何使用Kuma运行跨基于 VM 的环境和基于 Kubernetes 的环境的多云服务网格?
具体来说,服务发现将如何以这样一种方式工作,即基于 VM 的工作负载可以发现基于 K8s 的工作负载,反之亦然?
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 集群中拥有服务副本,它们可以轻松互换,而无需重新配置整个基础架构。