多云平台实施架构是什么 多云管理 开源_kubernetes


Karmada(Kubernetes Armada)是华为主导开源的 Kubernetes 多云容器编排管理系统,可以跨多个Kubernetes 集群和云运行你的云原生应用程序,而无需更改应用程序。通过使用 Kubernetes 原生 API 并提供高级调度功能,Karmada 可以实现真正的开放式多云 Kubernetes 集群管理。

多云平台实施架构是什么 多云管理 开源_java_02

Karmada 旨在为多云和混合云场景中的多集群应用程序提供自动化管理,其关键功能包括集中式多云管理、高可用性,故障恢复和流量调度。

1特性

  • 兼容 K8s 原生 API
  • 零变化升级,从单集群到多集群
  • 无缝整合现有的 K8s 工具链
  • 开箱即用
  • 内置一系列场景的策略集合,包括 Active-active、远程灾难恢复、地理冗余等等
  • 跨集群应用的自动扩展、故障转移和多集群的负载均衡
  • 避免锁定供应商
  • 与主流云供应商整合
  • 自动分配,跨集群迁移
  • 不依赖于专有的供应商编排
  • 集中化管理
  • 与地点无关的集群管理
  • 支持公有云、企业内部或边缘集群
  • 高效的多集群调度策略
  • 集群亲和力、多集群拆分/重新平衡
  • 多维度 HA:区域/可用区/集群等
  • 开放和中立
  • 由互联网、金融、制造业、电信、云计算供应商等联合发起
  • 以 CNCF 的开放治理为目标

本项目是在 Kubernetes Federation v1 和 v2 的基础上进行开发的,一些基本概念继承自这两个版本。

2架构


多云平台实施架构是什么 多云管理 开源_java_03

Karmada 控制平面由以下几个组件组成:

  • Karmada API 服务器
  • Karmada 控制管理器
  • Karmada 调度器

ETCD 存储 karmada API 对象,API 服务器是所有其他组件进行通信的 REST 端点,Karmada 控制管理器根据你通过 API 服务器创建的 API 对象执行操作。

Karmada 控制管理器运行各种控制器,控制器观察 karmada 对象,然后与底层集群的 API 服务器通信,创建常规的 Kubernetes 资源对象。

  1. 集群控制器:将 kubernetes 集群附加到 Karmada,通过创建集群对象管理集群的生命周期。
  2. 策略控制器:该控制器观察传播策略对象。当 PropagationPolicy 对象被添加时,它选择一组与 resourceSelector 匹配的资源,并为每个单一的资源对象创建 ResourceBinding
  3. 绑定控制器:该控制器 watch ResourceBinding 对象,并通过单个资源清单创建对应于每个集群的工作对象。
  4. 执行控制器:该控制器 watch 工作对象,当工作对象被创建时,它将把资源分配给成员集群。

3概念

资源模板: Karmada 使用 Kubernetes 原生 API 定义联邦资源模板,以使其易于与已经在 Kubernetes 上使用的现有工具集成。

传播策略: Karmada 提供独立的传播策略 API,来定义多集群调度和传播要求。

  • 支持 1:n 的映射策略:工作负载,用户不需要每次在创建联合应用时都表明调度限制。
  • 使用默认的策略,用户只需与 K8s API 进行交互即可。

覆盖策略: Karmada 提供独立的 覆盖策略 API,专门用于集群的相关配置自动化。例如:

  • 根据成员集群区域覆盖镜像前缀
  • 根据云供应商覆盖 StorageClass 存储类

下图显示了在传播资源到成员集群时,Karmada 资源是如何参与的。


多云平台实施架构是什么 多云管理 开源_java_04

关于 Karmada 的更多使用请查看项目仓库 https://github.com/karmada-io/karmada

本文转载自:「Github爱好者」,原文:http://t.cn/A6cR2f0o,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

多云平台实施架构是什么 多云管理 开源_多云平台实施架构是什么_05

多云平台实施架构是什么 多云管理 开源_java_06

你可能还喜欢

点击下方图片即可阅读

多云平台实施架构是什么 多云管理 开源_docker_07

无需太多,30 秒搞定在 Kubernetes 中部署 Kubernetes 集群

多云平台实施架构是什么 多云管理 开源_多云平台实施架构是什么_08