首页 > 其他分享 >Karmada核心概念

Karmada核心概念

时间:2023-02-16 13:45:35浏览次数:32  
标签:控制器 Kubernetes 对象 核心 概念 API 集群 Karmada

  以下内容为翻译,原文地址 https://karmada.io/zh/docs/next/

一、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对象时,控制器将资源分配给成员集群

 

标签:控制器,Kubernetes,对象,核心,概念,API,集群,Karmada
From: https://www.cnblogs.com/happy-king/p/17125819.html

相关文章

  • linux中用户和用户组的概念
    大家好,我们继续来上linux课程,这节课我们从以下几点来进行讲解:Linux权限的概念;UID相关概念用户和用户组的关系用户和账户的区别Linux是一个多用户多任务的的操作系统......
  • H264基础概念
    简介H264视频格式,有损压缩的,尽可能降低存储体积下获得较好的图像质量和低带宽图像传输。帧的概念经过压缩后的帧分为:I帧、P帧和B帧I帧:关键帧,采用帧内压缩技术P帧:向前......
  • 核心概念
    核心概念:  *代码书写现状:    耦合度高       解决方法:使用对象时,在程序中不要主动new产生对象(IoC控制反转:使用对象时,由主动new产生对象转为有外部提供对......
  • ETL概念、工作流程以及操作步骤
    目录ETL概念之介绍ETL概念之背景ETL概念之工作流程实时流ETL工作流程离线ETL工作流程ETL概念之操作步骤参考链接ETL概念之介绍ETL,是英文Extract-Transform-Load的......
  • 机器学习基础概念-逻辑回归和线性回归
    逻辑回归和线性回归虽然名字很相似,但是它们是两个不同的模型,适用于不同的任务。主要区别在于以下几个方面:目标变量类型不同:逻辑回归的目标变量是二元分类变量,即只有两个......
  • “解释变量”、“控制变量”与“调节变量”概念辨析[转]
    从数理关系上看,控制变量和解释变量是一回事,只是说法不同。通常所说的被解释变量也有不同的称呼,比如:应变量、预测子、回归子、响应变量、内生变量;同样,相对应的解释变量对应......
  • 核心二进制组件源码之kube-apiserver
    什么是kube-apiserverkube-apiserver中文翻译为KubernetesAPI服务器,英文在有时候的阐述中会用KubernetesAPIserver,说的都是kube-apiserver.KubernetesAPIserve......
  • k8s源码之核心apimachinery(基础框架)
    目前该源码部分已全部转移至https://github.com/kubernetes/apimachinery具体可参考 https://www.cnblogs.com/aozhejin/p/16287804.htmlScheme,typing,encoding,dec......
  • 零信任-发展历程及概念(1)
    零信任发展历程2010•Forrester约翰·金德维格正式提出零信任概念2013•CSA成立软件定义边界SDP工作组,次年发布SDP标准规范1.02017•Gartner正式提出“CARTA”零......
  • JavaSE5️⃣核心类 - 包装类型
    1、包装类型Java数据类型基本类型:byte,short,int,longfloat,doublechar,boolean引用类型:八种基本类型之外的所有数据类型。包含所有class和interface类型。......