Karmada v1.5发布:多调度组助力成本优化

yizhihongxing

摘要:在最新发布的1.5版本中,Karmada 提供了多调度组的能力,利用该能力,用户可以实现将业务优先调度到成本更低的集群,或者在主集群故障时,优先迁移业务到指定的备份集群。

本文分享自华为云社区《Karmada v1.5发布!多调度组助力成本优化》,作者:华为云云原生团队。

Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容 Kubernetes 原生 API 的能力,Karmada 可以平滑迁移单集群工作负载,并且仍可保持与 Kubernetes 周边生态工具链协同。在最新发布的1.5版本中,Karmada 提供了多调度组的能力,利用该能力,用户可以实现将业务优先调度到成本更低的集群,或者在主集群故障时,优先迁移业务到指定的备份集群。

Karmada v1.5发布:多调度组助力成本优化

本版本其他新增特性:

  • 提供了多调度器支持能力,默认调度器可以与第三方自定义调度器协同工作,提供更强的定制能力。
  • 集群差异化配置策略(OverridePolicy/ClusterOverridePolicy)将按照隐式的优先级进行应用。
  • 内置资源解释器支持聚合StatefulSet/CronJob 状态。

新特性概览

多调度组

根据 Flexera 发布的《2023 年云现状调查报告》,云成本的管理取代了安全性话题,成为当下云使用者面临的首要问题。

Karmada v1.5发布:多调度组助力成本优化

Karmada 秉承这一趋势,同样关注云成本管理。从v1.5版本开始,用户可以在 PropagationPolicy/ClusterPropagationPolicy 中设置多个集群组,实现将业务优先调度到成本更低的集群组。下面我们给出一个针对成本优化进行调度的例子:

apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
  name: nginx
spec:
  resourceSelectors:
    - apiVersion: apps/v1
      kind: Deployment
      name: nginx
  placement:
    clusterAffinities:
      - affinityName: local-clusters
        clusterNames:
          - local-member1
          - local-member2
      - affinityName: cloud-clusters
        clusterNames:
          - huawei-member1
          - huawei-member2

上面的例子配置有本地集群组(local-clusters)和云上集群组(cloud-clusters),Karmada 在选择集群组进行资源分发时, 将按顺序对集群组逐一进行评估,直到找到满足调度约束的集群组。所以在调度Deployment/nginx时,会优先尝试调度到本地集群组的local-member1和local-member2,如果失败(如资源不足),则选择云上集群组,从而实现在本地集群资源足够时,优先选择成本更低的本地集群。基于此,系统管理员也可以定义主集群组和备份集群组,在主集群组故障时,将业务往备份集群组的集群迁移。下面我们给出一个针对容灾迁移的例子:

apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
  name: nginx
spec:
  resourceSelectors:
    - apiVersion: apps/v1
      kind: Deployment
      name: nginx
  placement:
    clusterAffinities:
      - affinityName: primary-cluster
        clusterNames:
          - member1
      - affinityName: backup-cluster
        clusterNames:
          - member2

上面的例子通过配置主群组(primary-cluster)和备份集群组(backup-cluster),在调度 Deployment/nginx 时,如果主集群组满足要求,会调度到主集群组的member1。在主集群组的集群故障时,调度器按顺序匹配新集群组,将业务迁移到备份集群组的member2。

关于多调度组更多信息,请参考:https://github.com/karmada-io/karmada/tree/master/docs/proposals/scheduling/multi-scheduling-group

自定义调度器

Karmada 默认调度器内置多款可灵活配置的插件,可以满足大部分使用场景,用户还可以使用插件扩展机制来实现个性化调度诉求。Karmada 1.5版本提供了多调度器支持能力,Karmada 默认调度器可以与第三方自定义调度器协同工作,以提供更强的定制能力。用户可以参考默认调度器实现自定义调度器,当多个调度器共存时,需通过命令行启动参数指定调度器名称,如 --scheduler-name=my-scheduler 。如果自定义调度器与默认调度器部署在同一namespace中,建议同时配置 --leader-elect-resource-name 参数,以避免副本选主冲突。关键命令行启动参数如下所示:

command:
  - /bin/karmada-scheduler
  - --kubeconfig=/etc/kubeconfig
  - --bind-address=0.0.0.0
  - --secure-port=10351
  - --enable-scheduler-estimator=true
  - --leader-elect-resource-name=my-scheduler # 你的自定义调度器名称
  - --scheduler-name=my-scheduler # 你的自定义调度器

通过参数 --scheduler-name 将多个调度器进行区分,每个调度器将只负责调度特定的工作负载。通过 Karmada 分发工作负载时,可以在 PropagationPolicy/ClusterPropagationPolicy 的 schedulerName 字段指定调度器名字,如下所示:

apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
 name: nginx-propagation
spec:
 schedulerName: my-scheduler
 resourceSelectors:
   - apiVersion: apps/v1
     kind: Deployment
     name: nginx
 placement:
   clusterAffinity:
     clusterNames:
       - member1
       - member2

上例通过 schedulerName 指定此Deployment必须由名为 my-scheduler 的调度器进行调度,此时默认调度器将自动忽略该工作负载。schedulerName 如果没有指定,则默认值为 default-scheduler ,意味着由默认调度器进行调度,前面版本的用户升级到新版本时无需额外配置。关于如何扩展调度器插件和实现自定义调度器,请查看官方文档:https://karmada.io/docs/developers/customize-karmada-scheduler/

版本升级

Karmada v1.5版本API兼容v1.4版本API,v1.4版本的用户仍然可以平滑升级到v1.5版本。可参考升级文档:https://karmada.io/docs/administrator/upgrading/v1.4-v1.5

致谢贡献者

Karmada v1.5版本包含了来自25位贡献者的数百次代码提交,在此对各位贡献者表示由衷的感谢:

贡献者GitHub ID:

@a7i@calvin0327@carlory@chaunceyjiang@fengshunli@Fish-pro@Garrybest@helen-frank@ikaven1024@jwcesign@lonelyCZ@maoyangLiu@my-git9@Poor12@qingwave@RainbowMango@VedRatan@Wang-Kai@whitewindmills@wlp1153468871@wongearl@XiShanYongYe-Chang@yanfeng1992@yanggangtony@Zhuzhenghao

参考链接

  • Release Notes:https://github.com/karmada-io/karmada/releases/tag/v1.5.0

  • 多调度组:https://github.com/karmada-io/karmada/tree/master/docs/proposals/scheduling/multi-scheduling-group

  • 2023 年云现状调查报告:https://info.flexera.com/CM-REPORT-State-of-the-Cloud

  • 扩展调度器插件和实现自定义调度器:https://karmada.io/docs/developers/customize-karmada-scheduler/

附:Karmada社区技术交流地址

 

点击关注,第一时间了解华为云新鲜技术~

原文链接:https://www.cnblogs.com/huaweiyun/p/17332586.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Karmada v1.5发布:多调度组助力成本优化 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月19日

相关文章

  • 使用.Net6中的WebApplication打造最小API

    使用.Net6中的WebApplication打造最小API,可以通过以下步骤进行: 第一步:创建Web项目 使用Visual Studio 2022或者命令行创建.Net 6的Web项目,选择ASP.NET Core Web Application模板,并选择API模板。 第二步:定义API路由 在Startup.cs文件中,使用app.UseEndpoi…

    云计算 2023年5月17日
    00
  • Python3自定义json逐层解析器代码

    接下来让我来详细讲解一下Python3自定义json逐层解析器代码的完整攻略,包括以下几个步骤: 步骤1. 确定需求 在编写代码之前,我们需要先明确自己的需求,也就是想要做什么。对于这个代码来说,我们需要编写一个可以逐层解析json数据的代码,方便对JSON数据进行处理和分析。 步骤2. 导入模块和数据 在这个代码中,我们需要使用到以下两个模块:json和c…

    云计算 2023年5月18日
    00
  • 基层民警体验大数据、云计算、人工智能带来的巨变

    基层民警体验大数据、云计算、人工智能带来的巨变 越来越多的基层民警感受到了移动互联网、大数据、云计算、人工智能带来的巨变:越来越多的基层民警在执法和服务中,体验到互联网时代联动融合、数据开放和资源共享的力量;越来越多的基层民警在实践中意识到,既然以大数据为代表的科技革命已经改变了我们所做的事情,我们自己就必须改变,要善于运用大数据思维分析解决问题,要合理利用…

    云计算 2023年4月13日
    00
  • 斐讯路由器怎么隐藏wifi 斐讯路由器wifi隐藏的方法

    斐讯路由器怎么隐藏wifi 斐讯路由器是一款性能稳定、易于使用的路由器,适用于家庭和办公场所。在保障网络安全的前提下,隐藏wifi可以有效地防止未经授权的用户连接到你的网络。下面是一份关于如何在斐讯路由器上隐藏wifi的完整攻略,包括背景介绍、隐藏步骤、示例说明等。 1. 背景介绍 隐藏wifi是一种保障网络安全的有效方法,可以防止未经授权的用户连接到你的网…

    云计算 2023年5月16日
    00
  • 以云计算与大数据为代表的信息技术是电力行业未来发展核心

    以云计算与大数据为代表的信息技术是电力行业未来发展核心 在全球新一轮科技革命和产业变革中,以云计算、大数据为代表的信息技术,与智能电网为代表的电力技术高度融合,将构建能源发展的新格局、激发经济增长的新活力、开启社会美好新生活、开启人类文明的新篇章。   今年8月,国务院公布了《“十三五”国家科技创新规划》,规划提到了9大重点工程,包括种业自主创新、煤炭清洁高…

    2023年4月9日
    00
  • 在CentOS下安装和配置分布式系统Ceph的教程

    以下为在CentOS下安装和配置分布式系统Ceph的完整攻略: 1. 安装 Ceph 1.1 添加 Ceph 的软件源 在 $sudo 权限下,执行以下命令: cd /etc/yum.repos.d/ sudo wget -O ceph.repo https://download.ceph.com/rpm-jewel/el7/ceph.repo 1.2 安装…

    云计算 2023年5月17日
    00
  • 云计算openstack共享组件(3)——消息队列rabbitmq

    队列(MQ)概念: MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来…

    云计算 2023年4月10日
    00
  • 云为信息化节成本4成 第8届云计算大会发布

    我国云市场己近1500亿元,其中公有云占47%,私有云达26%,为大众创业万众创新提供了双创基础平台,为企业信息化节约了四成成本。这是昨天上午开幕的第八届云计算大会上,信息化工业部软件服务司谢少峰司長在主题报告中发布的。 由中国电子学会主办,ZD至顶网协办的第八届中国云计算大会为期三天,怀进鹏部長到会并首先致辞之后在谢少峰司長做主题报告,他全面总结了当前中国…

    云计算 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部