Meshery:开源云原生管理器,助力多场景部署与性能管理!
MESHERY 是云原生计算基金会项目
Meshery 作为一个自助式工程平台,同时也是开源的云原生管理器,能实现所有基于 Kubernetes 的基础设施和应用程序(多云)的设计与管理。作为可扩展平台,它提供可视化和协作式的 GitOps,让你在管理 Kubernetes 多集群部署时摆脱 YAML 的束缚。你还能通过云原生游乐场在浏览器中试用 Meshery(有 teaser 视频)。
功能特性
- 基础设施生命周期管理:Meshery 管理云服务和 Kubernetes 集群的配置、部署和运营,支持数百种不同类型的云原生基础设施集成,目前支持 380 多种集成。你能在 Meshery 精心策划的设计模板目录中找到基础设施配置模式,这些模板包含最佳配置实践。
- 多 Kubernetes 集群和多云管理:Meshery 提供统一管理界面,可跨任何基础设施(包括各种云提供商)管理多个 Kubernetes 集群,确保整个 Kubernetes 环境的配置、运营和可观测性保持一致。
- 部署预演:Meshery 利用 Kubernetes 内置的预演功能,让你在不实际应用更改到集群的情况下模拟部署。这能让你:验证配置,确保部署规范(如 YAML 清单、Helm 图表、Meshery 设计)语法正确,并能被 Kubernetes API 服务器接受;识别潜在问题,在影响生产环境之前,检测配置中的错误,如无效的资源定义、缺失字段或 API 版本不匹配;预览更改,了解 Kubernetes 在实际部署期间将创建或修改的对象;集成 CI/CD,将预演作为持续集成和持续交付管道的一个步骤,自动进行部署前检查,防止有问题的部署。通过提供预演功能,Meshery 有助于在开发和部署过程的早期发现潜在问题,提高 Kubernetes 部署的可靠性和稳定性。
- 可视化和协作式基础设施管理:采用以 GitOps 为中心的方法,可视化和协作式地设计和管理基础设施及微服务。Meshery 能智能推断每个资源之间的相互关系,支持组件之间多种内置关系,你还可以用它创建自定义关系。
- 应用的上下文感知策略:利用内置关系,从代码到 Kubernetes 始终如一地实施最佳配置实践。无需了解或编写 Open Policy Agent 的 Rego 查询语言,就能自信地配置基础设施。
- 工作区:云原生项目的团队共享空间:工作区让你组织工作,是你和团队协作的中心,也是环境及其资源的访问控制点。
- 管理与环境的连接:环境让你更轻松地将一组资源作为一个整体进行管理、共享和协作,而不是逐个处理连接和凭证。
- 合并前查看基础设施变更:直接在 PR 中获取基础设施的快照。通过将 Meshery 连接到你的 GitHub 仓库,在 PR 中预览部署、查看 PR 之间的更改并获取基础设施快照。
- 基于 Meshery 扩展点的平台工程:利用 Meshery 丰富的可扩展性特性,将其扩展为你的自助式工程平台,这些特性包括 gRPC 适配器、可热加载的 React 包和 Golang 插件、NATS 主题订阅,以及通过 REST 和 GraphQL 可消费和扩展的 API 接口。Meshery 众多的扩展点使其成为内部开发者平台的理想基础。
- 访问 Kubernetes 云原生模式:使用 Meshery 中的设计配置器设计和管理所有云原生基础设施,或从目录中的模式模板开始。Meshery 具备在共享 Kubernetes 基础设施中管理多个租户的强大能力,提供创建安全、隔离和可管理的多租户环境所需的工具和集成,让多个团队或组织能够对基于角色的访问控制进行精细管理。Meshery 的“多人协作”功能指的是其协作特性,允许多个用户同时与云原生基础设施进行交互和管理,这主要通过 Meshery 扩展实现。
性能管理
- 负载生成和性能表征:Meshery 提供负载生成和性能表征功能,帮助你评估和优化应用程序及基础设施的性能。创建并复用性能配置文件,以便在基础设施性能表现的背景下一致地表征其配置。
- 管理基础设施及其工作负载的性能:从一个版本到另一个版本对云原生性能进行基准测试和跟踪。使用性能配置文件跟踪工作负载的历史性能,跟踪应用程序不同版本的性能,了解云原生网络功能之间的行为差异,比较不同基础设施部署的性能。
- 负载生成和微服务性能表征:负载生成,Meshery 使用 Fortio 负载生成器进行性能测试,具有可插拔的负载生成器接口以实现扩展性;可配置的性能配置文件,Meshery 提供高度可配置的负载配置文件,具有可调整的方面,使用户能够生成 TCP、gRPC 和 HTTP 负载。你可以自定义持续时间、并发线程、并发生成器和负载生成器类型等参数;统计分析,Meshery 对性能测试结果进行统计分析,以带有延迟区间的直方图形式呈现数据,帮助你了解响应时间的分布并识别潜在瓶颈;测试结果比较,Meshery 让你能够比较独立性能测试之间的请求性能(延迟和吞吐量)差异。将负载测试配置保存为性能配置文件,便于使用相同设置重新运行测试并跟踪性能随时间的变化;Kubernetes 集群和工作负载指标,Meshery 连接到一个或多个 Prometheus 服务器以收集集群和应用程序指标,还集成了 Grafana,允许你导入现有仪表盘并可视化性能数据。为了打造与基础设施无关的工具,Meshery 使用云原生性能规范作为通用格式,根据通用的云原生性能指数来捕获和衡量基础设施的性能。Meshery 通过 API 标准化推动云原生基础设施的采用,让你能够衡量 Docker、Kubernetes 或其他云原生基础设施在产生的开销方面所提供的价值。
开始使用 Meshery
Meshery 以一组容器的形式运行在 Kubernetes 集群内部或外部。你可以使用以下命令安装:curl -L https://meshery.io/install | bash -使用快速入门指南,查看所有支持的平台。在“入门”部分查看如何在以下支持的平台上快速部署 Meshery:
| 平台 | 是否支持 |
|---|---|
| Docker | ✔️ |
| Docker - Docker App | ✔️ |
| Docker - Docker Extension | ✔️ |
| Kubernetes | ✔️ |
| Kubernetes - AKS | ✔️ |
| Kubernetes - Docker Desktop | ✔️ |
| Kubernetes - EKS | ✔️ |
| Kubernetes - GKE | ✔️ |
| Kubernetes - Helm | ✔️ |
| Kubernetes - kind | ✔️ |
| Kubernetes - Minikube | ✔️ |
| Kubernetes - OpenShift | ✔️ |
| Kubernetes - Rancher | ✔️ |
| Linux | ✔️ |
| Mac | ✔️ |
| Mac - Homebrew | ✔️ |
| Windows | ✔️ |
| Scoop | ✔️ |
| WSL2 | ✔️ |
| Raspberry Pi | 进行中 |
Meshery 文档为你选择的平台提供了详尽的安装指南。
加入 Meshery 社区
我们的项目由社区构建,欢迎协作。👍 一定要查看贡献者旅程地图和社区手册,了解可用的资源。加入社区 Slack 或讨论论坛参与其中。
寻找 MeshMate
MeshMate 是经验丰富的 Meshery 社区成员,他们将帮助你熟悉环境、发现实时项目并扩展你的社区网络。立即与 MeshMate 取得联系!了解更多关于 MeshMate 计划的信息。
- ✔️ 参加社区日历上的每周会议。
- ✔️ 观看社区会议记录。
- ✔️ 填写成员表格,获取社区资源访问权限。
- ✔️ 在社区论坛讨论。
- ✔️ 在社区手册中探索更多内容。
如果你不确定从哪里开始,可以选择带有“help - wanted”标签的开放问题。
贡献
非常欢迎你贡献代码!我们是一个热情友好的开源贡献者社区,期待你的加入。所有类型的贡献都受到欢迎。一定要阅读贡献者指南,了解可用资源以及如何开始。
命名约定
本仓库遵循 Meshery 生态系统中通用的规范驼峰式标识符命名约定。查看 meshery/schemas 中的标识符命名贡献者指南,获取完整的易读目录(包含 26 行命名表,有前后对比和正误示例)。特定于仓库的要求见 AGENTS.md 中的“标识符命名约定”部分。
点赞支持
如果你喜欢 Meshery,请给这个仓库点个 ⭐ 以表示支持!🤩
许可证
本仓库和网站根据 Apache 2.0 许可证以开源形式提供。
软件物料清单(SBOM)
Meshery 的软件物料清单(SBOM)可作为构建工件获取。
