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对象时,控制器将资源分配给成员集群
相关推荐
AI攻城狮2 小时前
OpenClaw 里 TAVILY_API_KEY 明明写在 ~/.bashrc,为什么还是失效?一次完整排查与修复
人工智能·云原生·aigc
阿里云云原生1 天前
零配置部署顶级模型!函数计算一键解锁 Qwen3.5
云原生
舒一笑1 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
AI攻城狮1 天前
Kimi Bot + OpenClaw 完整配置指南:5 步实现本地 AI Agent 集成
人工智能·云原生·aigc
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
AI攻城狮2 天前
RAG Chunking 为什么这么难?5 大挑战 + 最佳实践指南
人工智能·云原生·aigc
叶落阁主2 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
可观测性用观测云3 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes