Karmada核心概念

  以下内容为翻译,原文地址 Karmada 是什么? | karmada

一、Karmada核心概念

一)什么是Karmada

  1、Karmada:开放,多云,多集群Kubernetes业务流程

  Karmada (Kubernetes Armada)是一个Kubernetes管理系统,使您能够跨多个Kubernetes集群和云运行您的云原生应用程序,而无需更改应用程序。通过使用Kubernetes原生api并提供高级调度功能,Karmada实现了真正开放的多云Kubernetes。

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

  Karmada是云原生计算基金会(CNCF)的一个沙盒项目。

  2、为什么使用Karmada
  • 兼容k8s 原生API
    • 零变化升级,从单点变集群
    • 无缝衔接已有的k8s工具链
  • 开箱即用
    • 内置场景策略集,包括:双活、异地容灾、两地三中心等
    • 跨集群应用程序在多集群上自动伸缩、故障转移和负载均衡
  • 避免供应商锁定
    • 与主流云提供商集成
    • 自动分配,跨集群迁移
    • 不受专有供应商业务流程的约束
  • 集中式管理
    • 不确定位置的集群管理
    • 支持公有云、预置或边缘的集群
  • 高效的多集群调度策略
    • 集群亲和性,多集群分裂/再平衡
    • 多维HA:区域/AZ/集群/提供商
  • 开放和中性
    • 由互联网、金融、制造、电信、云等厂商联合发起
    • 使用CNCF实现开放治理的目标

  注意:本项目是Kubernetes Federation v1和v2的延续。一些基本概念继承自这两个版本。

二)概念

  1、资源模板

  Karmada为联邦资源模板使用了Kubernetes Native API定义,使其易于与Kubernetes已经采用的现有工具集成。

  2、传播策略

  Karmada提供了一个独立的传播(放置)策略API来定义多集群调度和传播需求。

  • 支持1:n映射策略:工作负载。用户不需要在每次创建联邦应用程序时都指明调度约束。
  • 使用默认策略,用户可以直接与Kubernetes API交互。
  3、差异化策略

  Karmada提供了一个独立的差异化策略API,用于专门化集群相关配置的自动化。例如:

  • 基于成员集群区域差异化图像前缀。
  • 根据您的云提供商差异化StorageClass。

  下图显示了如何将Karmada资源传播到成员集群。

  

三)架构

  1、Karmada整体架构

  

  2、Karmada 控制平面由以下组件组成
  • Karmada API Server
  • Karmada Controller Manager
  • Karmada Scheduler

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

  Karmada控制器管理器运行各种控制器,这些控制器监视Karmada对象,然后与底层集群的API服务器通信,以创建常规的Kubernetes资源

  1. Cluster Controller:将kubernetes集群附加到Karmada,通过创建集群对象来管理集群的生命周期。
  2. Policy Controller:监视PropagationPolicy对象。当添加一个PropagationPolicy对象时,控制器将选择一组与resourceSelector匹配的资源,并为每个资源对象创建ResourceBinding。
  3. 绑定控制器:监视ResourceBinding对象,并创建与每个集群对应的Work对象,其中包含单个资源清单。
  4. 执行控制器:监视工作对象。创建Work对象时,控制器将资源分配给成员集群
相关推荐
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
SelectDB1 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
秋播3 天前
国内本地WSL2编译rancher源码
云原生
小猿姐5 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
阿里云云原生6 天前
深入内核:拆解 OpenTelemetry eBPF 探针如何优雅地“透视”多语言微服务?
云原生
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务