Karmada 多云容器编排引擎支持多调度组,助力成本优化

这篇具有很好参考价值的文章主要介绍了Karmada 多云容器编排引擎支持多调度组,助力成本优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要:Karmada 社区也在持续关注云成本的管理,在最近发布的 v1.5 版本中,支持用户在分发策略 PropagationPolicy/ClusterPropagationPolicy 中设置多个集群调度组,实现将业务调度到成本更低的集群组中去。

本文分享自华为云社区《Karmada 多云容器编排引擎支持多调度组,助力成本优化!》,作者:华为云云原生团队

根据 Flexera 最新发布的《2023 年云现状调查报告》,在受访的750家企业中,使用多云的企业比例高达87%:

在使用多云的受访者中,排在前两位的多云挑战分别是:孤立在不同云上的应用程序和云之间的灾难恢复/故障切换。在所有组织中,最常用的多云工具是安全工具,紧随其后的是成本优化(Finops)工具。

此外,云成本的管理取代了安全性话题,成为当下云使用者面临的首要问题:

Karmada 社区也在持续关注云成本的管理,在最近发布的 v1.5 版本中,支持用户在分发策略 PropagationPolicy/ClusterPropagationPolicy 中设置多个集群调度组,实现将业务调度到成本更低的集群组中去。

多调度组

Karmada 的PropagationPolicy 支持声明单组集群,即.spec.placement.clusterAffinity,其 YAML 配置示例为:

apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
 name: nginx
spec:
 resourceSelectors:
 - apiVersion: apps/v1
 kind: Deployment
 name: nginx
 placement:
 clusterAffinitiy:
 - clusterNames:
 - member1
 - member2

Karmada v1.5 版本中,clusterAffinity 向 karmada-scheduler 提供一组候选集群,karmada-scheduler 根据相关限制(例如 spreadConstraint,插件过滤等)在候选集群之间做出调度决策,调度结果要么成功,要么失败。多调度组支持用户设置ClusterAffinities字段,在 PropagationPolicy 中声明多组集群,karmada-scheduler 可以依次来评估每个 clusterAffinity,进而做出决策。此功能允许 Karmada 调度程序在集群故障时首先将应用程序调度到低成本集群组,或将应用程序从主集群迁移到备份集群。

// Placement represents the rule for select clusters.
type Placement struct {
 // ClusterAffinities 表示对 ClusterAffinityTerm 指示的多个集群组的调度限制。
      // 调度程序将按照这些组在规范中出现的顺序逐个评估,不满足调度限制的组将被忽略,
      // 这意味着除非该组中的所有集群也属于下一个组(同一集群可以属于多个组),
      // 否则将不会选择此组中的所有集群。
      // 如果没有一个组满足调度限制,则调度失败,这意味着不会选择集群。
      // 注:ClusterAffinities 不能与 ClusterAffinity 共存。
      // 如果未同时设置 ClusterAffinities 和 ClusterAffinity,则任何集群都可以作为调度候选集群。
 //
 // +optional
 ClusterAffinities []ClusterAffinityTerm `json:"clusterAffinities,omitempty"`
}
// ClusterAffinityTerm selects a set of cluster.
type ClusterAffinityTerm struct {
 // AffinityName 是集群组的名称.
 // +required
 AffinityName string `json:"affinityName"`
 ClusterAffinity `json:",inline"`
}

云成本管理使用场景

用户可以使用多调度组来进行云成本的管理,例如:本地数据中心中的私有集群是主集群组,集群提供商提供的托管集群可以是辅助集群组,因此,Karmada 调度程序更愿意将工作负载调度到主集群组,只有在主集群组不满足限制(如缺乏资源)的情况下,才会考虑辅助集群组。下面我们给出一个针对成本优化进行调度的例子:

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 时,会优先尝试调度到本地集群组中的集群,如果失败(如缺乏资源),则继续选择云上集群组,从而实现在本地集群资源足够时,优先选择成本更低的本地集群的目标。

容灾与迁移场景

对于灾难恢复场景,系统管理员也可以定义主集群组备份集群组,工作负载将首先调度到主集群组,当主集群组中的集群发生故障(如数据中心断电)时,Karmada 调度程序可以将工作负载迁移到备份集群组

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 集群,当member1 集群故障时,调度器按顺序匹配新集群组,从而将业务迁移到备份集群组中的member2 上,这样就达成了容灾的目的。

总结

支持多调度组设置为用户提供了更丰富的多集群资源分发策略选择,Karmada 后续也会继续探索云成本的管理,大家有任何感兴趣的想法,都欢迎大家来 Karmada 社区进行讨论与分享。

附:Karmada社区交流地址

项目地址:https://github.com/karmada-io/karmada

Slack地址:https://slack.cncf.io/

 

点击关注,第一时间了解华为云新鲜技术~文章来源地址https://www.toymoban.com/news/detail-420196.html

到了这里,关于Karmada 多云容器编排引擎支持多调度组,助力成本优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HummerRisk 多云检测引擎升级分析

    在最新发布的HummerRisknbsp;V1.2.0 版本中,我们升级了多云合规检测引擎,现在X-PACK中的多云检测可以提升300%的执行速度,面对大批量和多环境的检测需求,可以提供更好的使用体验。同时我们也来分析下,新的检测执行体系和之前的社区版体系的差别。 从整体架构角度,我们

    2024年02月12日
    浏览(40)
  • 语聚AI集成抖音丨集简云助力北京自由引擎无缝连接AI大模型,为企业提供即时专业支持

    北京自由引擎有限公司作为一家快速发展的初创企业,公司以“创业斯基”为主要运营账号,致力于为B2B用户提供AI营销服务。北京自由引擎迅速崭露头角,成为业内瞩目的新星。核心业务包括提供课程和企业服务,尤其专注于使用AI工具进行自动化流程建设,以提升企业的营

    2024年02月22日
    浏览(43)
  • 技术赋能-混流编排功能,助力京东618直播重保

    每每到618、双11这样的大型活动的时候,每天都有几个重要的大v或者品牌直播需要保障。 以往的重点场次监播方式是这么造的: 对每路直播的源流、各档转码流分别起一个ffplay播放窗口,再手动调整尺寸在显示器桌面进行布局,排到一屏里来监播。 这样做的缺点: 操作复杂

    2024年02月08日
    浏览(41)
  • 技术赋能-混流编排功能,助力京东618直播重保 | 京东云技术团队

    每每到618、双11这样的大型活动的时候,每天都有几个重要的大v或者品牌直播需要保障。 以往的重点场次监播方式是这么造的: 对每路直播的源流、各档转码流分别起一个ffplay播放窗口,再手动调整尺寸在显示器桌面进行布局,排到一屏里来监播。 这样做的缺点: 操作复杂

    2024年02月08日
    浏览(47)
  • 字节跳动基础架构编排调度团队论文入选云计算领域顶会 SoCC 2023

    2023 年 10 月 30 日至 11 月 1 日,SoCC 2023 将在美国加州 Santa Cruz 举行。 字节跳动基础架构-编排调度团队的研究成果被 S o CC 2023 接收,并受邀进行现场报告。 SoCC 会议 全称 Annual ACM Symposium on Cloud Computing,是 云计算领域顶级会议之一 ,同时也是 ACM 所有会议当中唯一一个同时被

    2024年02月08日
    浏览(39)
  • 15运维了解流程编排工具 Airflow 的基本用法,包括 DAG 编写、任务调度

    什么是 Airflow? 安装和配置 DAG 编写 任务调度 总结 Airflow 是一个基于 Python 的开源流程编排工具,它可以帮助用户创建、调度和监控复杂的工作流程。它是由 Airbnb 公司开发的,并在 2015 年开源,目前已成为 Apache 基金会的顶级项目之一。 Airflow 的主要特点包括: 可编程:使

    2024年02月15日
    浏览(65)
  • 基于人工智能的物流调度:提高物流效率、降低成本

    作者:禅与计算机程序设计艺术 物流调度是指在仓库管理过程中,根据客户需求、系统运行状态、库存等各种条件,将货物准确、及时、合理地送达到指定的地点。作为物流行业的重要环节,物流调度算法在优化产品生产、提升经济效益方面起着至关重要的作用。 目前,智

    2024年02月09日
    浏览(47)
  • 数字大师:数据可视化助力企业智慧成本管理

    在当今竞争激烈的商业环境中,企业要想取得成功,不仅需要不断创新,还需要高效管理资源,降低成本。数据可视化作为一项强大的工具,为企业提供了更清晰、更直观的经营洞察,从而帮助企业实现成本的有效控制和节约。下面我就以可视化从业者的角度来简单聊聊,数

    2024年02月04日
    浏览(51)
  • Docker啥是容器编排?

    Docker容器编排是一种管理和协调多个Docker容器的技术,旨在简化容器化应用程序的部署、扩展和管理。在现代应用开发中,容器化已经成为一种流行的部署方式,Docker是其中应用最广泛的容器化技术。然而,当应用由许多容器组成时,手动管理和协调这些容器可能会变得复杂

    2024年02月15日
    浏览(38)
  • 【容器编排】初识 Kubernetes

    目录 1.简介 2.为什么需要 k8s 3.k8s 能做什么? 4.k8s 不是什么? 1.简介 摘取官网: 概述 | Kubernetes         Kubernetes 这个名字源于希腊语,意为 舵手 或 飞行员 。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模

    2024年02月14日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包