前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 Clusternet 与 OCM 打造新一代开放的多集群管理平台

基于 Clusternet 与 OCM 打造新一代开放的多集群管理平台

作者头像
冬夜先生
修改2021-09-07 10:45:43
3790
修改2021-09-07 10:45:43
举报
文章被收录于专栏:csico

背景

随着 5G、物联网设备的爆炸性增长以及智能终端不断增强的计算能力,带来了前所未有的数据量,传统的中心集中式计算捉襟见肘。“新基建”战略的实施,工业互联网、车联网/自动驾驶、智慧交通、云游戏及 VR/AR 等标杆应用引领产业融合,企业上云常态化,催生出分布式云,混合云,边缘云等概念。Gartner 预计到2025年,超过 50% 的组织将在其选择的地点使用分布式云选项,从而实现业务模型转型。企业生成的 75% 的数据将在传统数据中心或云之外的,更接近最终用户的边缘创建和处理。

云计算行业正在迎来了新一轮的增长,国内外厂商和开源社区率先行动,分别发布并开源了 Open Cluster Management (OCM) 项目和 Clusternet 项目,统一管理多云多集群下的 Kubernetes 应用,将云原生下沉实现云边端一体化。基于 OCM 与 Clusternet 打造新一代开放的多集群管理系统,管理从中心到边缘,从机房到终端的“集群网络”。

Clusternet

Clusternet ( Cluster Internet ) 是腾讯开源的多集群和应用管理软件,无论集群是运行在公有云、私有云、混合云还是边缘云上,Clusternet 都可以让您像在本地运行一样管理/访问它们,用 K8s API 集中部署和协调多集群的应用程序和服务。通过 Addon 插件方式,用户可以一键安装、运维及集成,轻松地管理数以百万计的 Kubernetes 集群,就像访问 Internet 一样自由便捷。

Clusternet 面向未来混合云、分布式云和边缘计算场景设计,支持海量集群的接入和管理,灵活的集群注册能力可以适应各种复杂网络条件下的集群管理需求,通过兼容云原生的 Kubernetes API 简化用户的管理和运维成本,加快用户业务的云原生转型。

Clusternet 为用户提供:

一站式管理各类 Kubernetes 集群

Clusternet 支持 Pull 模式和 Push 模式管理集群。即使集群运行在 VPC 内网中、边缘或防火墙后时,Clusternet 仍可建立网络隧道连接管理集群。

支持跨集群的服务发现及服务互访

在无专网通道的情况下,仍可提供跨集群的访问路由。

完全兼容原生 Kubernetes API

完全兼容 Kubernetes 的标准 API,比如:Deployment,StatefulSet,DaemonSet,同时也包括用户自定义的 CRD 等,用户从单集群应用升级到多集群只需做简单的配置,无需学习复杂的多集群 API。

支持部署 Helm Chart、Kubernetes 原生的应用以及自定义的 CRD

支持 Helm chart 类型应用,包括 Chart 的分发、差异化配置、状态的汇聚等,和原生 Kubernetes API 的能力一致。

丰富、灵活的配置管理

提供了多种类型的配置策略,用户可灵活的搭配这些配置来实现复杂的业务场景,比如多集群灰度发布。

Addon 能力,架构简单

采用了 Aggregated ApiServer 的方式,且不依赖额外的存储,架构简单,便于部署,大大降低了运维复杂度。

便捷接入

Clusternet 提供了完善的对接能力,支持 kubectl plugin[1] 以及 client-go[2],方便业务一键接入,具备管理多集群的能力。

OCM ( Open Cluster Management )

OCM (Open Cluster Management) 是一个社区驱动的项目,专注于 Kubernetes 应用的多集群和多云场景。OCM 旨在简化部署在混合环境下的多 Kubernetes 集群的管理工作,为 Kubernetes 生态圈不同管理工具拓展多集群管理能力。OCM 总结了多集群管理所需的基础概念,采用了 hub-agent 的架构,定义了多项多集群管理的原语和基础组件来达到多集群管理的要求:

  • 通过 ManagedCluster API 定义被管理的集群,同时 OCM 会安装名为 Klusterlet 的 agent 在每个集群里来完成集群注册,生命周期管理等功能。
  • 通过 Placement API 定义如何将配置或工作负载调度到哪些集群中。调度结果会存放在 PlacementDecision API 中。其他的配置管理和应用部署工具可以通过 PlacementDecision 决定哪些集群需要进行配置和应用部署。
  • 通过 ManifestWork API 定义分发到某个集群的配置和资源信息。
  • 通过 ManagedClusterSet API 对集群进行分组,并提供用户访问集群的界限。
  • 通过 ManagedClusterAddon API 定义管理探针如何部署到多个集群中以及其如何与 hub 端的控制面进行安全可靠的通信。

通过利用 OCM 的 API 原语,简化了开源多集群管理项目的部署和运维,拓展许多 Kubernetes 的单集群管理工具的多集群管理能力。例如:

  • 简化 submariner 等多集群网络解决方案的管理。利用 OCM 的插件管理功能将 submariner 的部署和配置集中到统一的管理平台上。
  • 为应用部署工具(KubeVela, ArgoCD 等)提供丰富的多集群负责调度策略和可靠的资源分发引擎。
  • 拓展现有的 Kubernetes 单集群安全策略治理工具(Open Policy Agent,Falco 等)使其具有多集群安全策略治理的能力。

OCM 还通过内置的两个管理插件分别用来进行应用部署和安全策略管理。其中应用部署插件采用了订阅者模式,可以通过定义订阅通道(Channel)从不同的源获取应用部署的资源信息。

Clusternet 与 OCM 结合迸发更强大能力

通过上文介绍可以看出,Clusternet 有着强大的集群接入和管理能力,支持各种复杂场景下的海量集群注册和管理,满足对未来混合云、分布式云和边缘计算的平台管理需求。 同时,OCM 有着成熟的多集群应用管理能力,通过多项多集群管理的原语和基础组件,实现各种 Kubernetes 项目和应用的多集群发布和管理。二者结合实现优势互补,强强联合,提供更为强大的多集群和应用治理能力。

如何将 OCM 与 Clusternet 的能力相结合,来自 Redhat 的社区开发者 (github: skeeey[3]) 实现了 clusternet-addon[4],基于 OCM 的 Addon-Framework[5],展示了 OCM 可以借助于 Clusternet 提供的强大集群管理能力,实现通过 RBAC 对子集群进行访问、通过 Push 模式分发应用到多个子集群中等。OCM 社区将与 Clusternet 社区紧密合作,将与 Clusternet 项目的集成作为一个子项目持续推进。

感兴趣的同学可以查看 clusternet-addon[6] 了解更多信息,或持续关注 OCM 和 Clusternet 项目社区获取最新的动态。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • Clusternet
    • Clusternet 为用户提供:
      • 一站式管理各类 Kubernetes 集群
      • 支持跨集群的服务发现及服务互访
      • 完全兼容原生 Kubernetes API
      • 支持部署 Helm Chart、Kubernetes 原生的应用以及自定义的 CRD
      • 丰富、灵活的配置管理
      • Addon 能力,架构简单
      • 便捷接入
  • OCM ( Open Cluster Management )
  • Clusternet 与 OCM 结合迸发更强大能力
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档