目录
使用 Meshery 可视化管理,部署和测试基础设施,服务网格和工作负载
Meshery 是什么?
Meshery[1],作为一个 CNCF 项目,是一个开源的云原生管理平台。你可以以可视化和多人协作的方式管理和部署你的基础设施,服务网格和工作负载。目前 Meshery 不仅可以管理 Kubernetes 集群上个任意资源,而且还集成了包括常见的服务网格以及各种 CNCF 项目在内的超过 260 个组件[2],从而帮助你可以更轻松地与集群进行交互,管理各个项目的生命周期。通过 Meshery,你可以掌控你的云原生环境。
除了基础功能,Meshery 还提供了一系列强大的工具,包括便捷的性能测试组件,各种项目的最佳实践模板,以及支持多人协作的 MeshMap 等等。
Meshery 的社区非常活跃,关注度也非常高。最近,Meshery 发布了 v0.7[3] 版本,在 Github[4] 上已经获得了超过 4K 的 Stars。值得一提的是,
作为 Meshery 的发起和维护方 Layer5[5] 也创建了一个 Slack 频道[6], 供 Meshery 开发者和用户们一起交流。
Meshery 与 Service Mesh
从 Meshery 的名字就可以看出,它与 Service Mesh 有着密切的关系。主流的 Service Mesh 通常分为数据平面(Data Plane)和控制平面(Control Plane)。数据平面负责处理网络流量,包括服务发现、负载均衡、流量控制、安全认证等功能。而控制平面则负责管理数据平面,包括配置、路由、策略、监控等功能。
在控制平面之上,我们还可以定义一层管理平面(Management Plane),用于统一管理和配置不同的 Service Mesh。Meshery 就是这一管理平面的软件实现,它提供了对不同 Service Mesh 的统一管理能力,使运维人员、开发者和应用服务提供者能够最大化地发挥 Service Mesh 的潜能。
Service Mesh 管理平面
Meshery 架构
让我们一起深入了解 Meshery 的架构和工作原理。下图描绘了 Meshery 的架构全貌:
Meshery 架构图
Meshery 可以通过 Docker 部署,或者直接安装在 Kubernetes 集群中。此外,Meshery 还提供了 Restful APIs,供各种客户端(如 UI,Mesheryctl 命令和脚本)进行连接。
Meshery Adapters 是一组负责管理各种服务网格生命周期的组件。目前,市面上的主流服务网格都有对应的 Adapter[7]。Adapters 通过 GRPC 的方式与 Meshery 连接。
在架构图的右边蓝色部分,是 Meshery 负责管理的 Kubernetes 集群。Meshery 会在该集群中部署 Meshery Operator,通过 MeshSync[8] 以获取和同步该集群的资源信息。有了这些信息,Meshery 就可以部署和管理服务网格和工作负载,并将集群的资源信息同步展示在 Meshery 的 UI 上。
此外,Meshery 还支持通过 HTTP 的方式获取集群上的 Prometheus 和 Grafana 信息和图表,并将其展示在 Meshery 的 UI 上。
想要了解更多关于 Meshery 架构的内容,请参考:https://docs.meshery.io/concepts/architecture[9]