当前位置:首页 > 数码 > 容器资源分配策略-兼顾稳定性和成本效益 (容器资源管理)

容器资源分配策略-兼顾稳定性和成本效益 (容器资源管理)

admin6个月前 (05-11)数码27
弹性云分级保障体系:确保容器服务稳定性 前言 随着假期出行的兴起和需求的增加,弹性云服务面临着巨大的稳定性保障压力。本文将介绍弹性云分级保障体系,旨在通过提供明确的容器资源保障等级,确保不同优先级的容器在高压场景下的稳定运行。 早期容器体系的超卖隐患 弹性云早期的分级体系虽然区分了容器的优先级,但并未与底层资源保障关联。由此带来了以下问题: 单机CPU利用率峰值过高 容器CPU资源超卖 quota与物理机资源脱节 quota申请与实际需求不符 这些问题的根源在于整体资源超卖,即申请量超过供给量。 超卖解决思路及收益 针对这一问题,弹性云提出了两大超卖解决思路: 思路一:核心服务链路不超卖 在资源有限的情况下,这一思路不可行。 思路二:核心服务链路中最重要的服务不超卖 在保障核心服务链路中最重要的服务不超卖的基础上,制定合理的超卖规则。 这一思路带来了四大收益: 消除单机CPU超卖 降低故障率 提升扩容效率 简化资源管理流程 弹性云新分级保障体系总体架构 为支持新分级保障体系,弹性云自下而上进行了全面改造: 操作系统层:针对CPU调度、内存管理、IO读写进行优化。 k8s调度层:对优先级调度和资源分配进行优化。 kube-odin层:新增容器资源保障机制。 服务树和系统部CMP系统:提供资源申请和监控。 分级保障体系 新分级保障体系将容器分为以下等级: S级:核心交易类服务,如网约车、两轮车、代驾服务。不超卖。 A级:非核心交易类服务,如信息查询、广告等。有一定程度超卖。 B级:非交易类服务,如日志、监控等。更大程度超卖。 资源保障机制 弹性云提供了以下资源保障机制: CPU资源保障:基于CPU限额和内核调度优化,确保不同等级的容器获得所需的CPU资源。 内存资源保障:基于内存限额和优化后的内存管理机制,防止内存资源不足导致容器故障。 网络资源保障:通过优化IO读写和网络调度,确保容器获得稳定的网络资源。 容器扩容优化 弹性云通过优化容器扩容流程,减少了扩容延时和故障率。 快速扩容:优化k8s调度和kube-odin组件,实现快速增发pod。 鲁棒扩容:优化扩容策略,提高扩容成功率。 监控与运维 弹性云提供了完善的监控与运维体系,包括: 实时监控:实时监控容器资源使用率、故障率等指标。 预警机制:当指标异常时自动预警,及时响应故障。 运维平台:提供容器管理、扩容、故障排查等功能。 总结 弹性云分级保障体系通过清晰的容器优先级划分、明确的超卖规则和强大的资源保障机制,有效提升了容器服务的稳定性和可靠性。这一体系为弹性云在高压场景下的稳定运行提供了坚实基础。

论成本管理的两个方面:效益与利益?

容器资源分配策略

成本,通常是指产品的生产成本(注:本文所论及的成本仅指生产成本,而非任意的成本类别。 )。 成本作为经济范畴,是指为获得一定的产品或劳务所发生的生产性耗费。 这种耗费既同社会生产力相联系,也同社会生产关系相联系。 前者决定了成本管理必然要服从一定的效益目标,后者则决定了成本管理必然要服从一定的利益目标。 1.成本与经济效益的关系撇开成本的社会形式,成本表现为生产过程的生产要素耗费,反映着生产者所投入的生产要素转换为一定量产品的物质技术关系。 经济效益作为生产者从事生产活动所获得的净收益,其量的大小则由这一物质技术关系所规定。 这一物质技术关系包含两个方面:一是指投入生产过程中的生产要素的配置关系,二是指投入与产出的转换关系。 投入生产过程中的生产要素的配置结构越合理,生产要素向产品的转换效率越高,同量的生产要素投入获得的产出就越多,或者说单位产出耗用的生产要素越少,单位产品成本越低,在产品售价既定的前提下,经济效益就越好。 人类的生产活动是一种再生产活动,为使再生产活动持续进行,必须使消耗的生产要素得到补偿,补偿的尺度同样取决于投入的生产要素与其产出的物质技术关系。 人们只有不断地完善与优化这一物质技术关系,逐渐降低维持再生产活动的生产要素的补偿量,才能不断地增加净产出,为扩大再生产提供日益强大的物质基础,进而有效地解决资源的有限性与欲求无限性的矛盾,使人们的需要获得更大范围、更高程度的满足。 2.成本与经济利益的关系 成本不仅仅与经济效益相关,也同经济利益相关。 这是因为成本作为在一定生产关系下所发生的生产耗费,不仅反映着生产要素的生产效率,而且反映着一定的经济利益关系。 考试论坛第一,成本体现着特定的生产关系。 成本作为生产耗费及其补偿的尺度,总是与特定的主体联系在一起的。 主体不同,成本构成、内容也会有所不同。 按照马克思的成本价格理论观点[1],由于生产商品的活劳动耗费中为资本家提供剩余价值的劳动部分,不需资本家支付任何代价,所以,对资本家来说,商品的生产费用,是由资本的耗费来计量的,亦即生产成本包括生产资料转移价值C与劳动力工资V两个组成部分。 而在小商品生产者看来,商品的生产性耗费仅指物化劳动耗费,活劳动耗费则不在商品的生产性耗费之列。 可见,生产关系不同,生产要素耗费与补偿的主体不同,生产成本的构成就不同,所体现的经济利益关系也就不同。 第二,成本构成体现着一定的分配关系。 比如,包含在成本中的工资、津贴、补助、福利费等项目,就是劳动者参与收益分配的具体方式。 生产经营者既可以通过提高劳动生产率以降低单位产品中的费用支出,也可以通过降低工资水平、缩减补贴与津贴、裁减人员等形式压低成本费用水平。 前者体现着人与自然关系的优化,后者则体现着人们之间的经济利益关系的变动。 第三,成本作为生产耗费的补偿尺度,其大小必然会对生产者的净产出量发生影响,进而对相关利益者的经济利益格局发生影响。 在总产出既定的前提下,净产出量的大小无疑由补偿成本量的大小来规定。 这样,在一定的生产关系下,比如在生产资料所有权与经营权分离或国家以所得税形式参与生产者的经营成果的分配时,生产经营者人为地少计补偿成本,虚增净产品,以夸大业绩,或生产资料所有者人为地多计补偿成本,虚减净产出,以降低税负的行为便可能发生。 为形成合理的经济利益格局而进行的成本管理,显然不属于效益管理的范畴,而属于利益管理的范畴。 成本管理也必然包含两个方面,即成本的效益管理方面与成本的利益管理方面。 二、确认成本管理两个方面的理论意义与实践意义 确认成本管理的两个方面,将成本的效益管理与成本的利益管理区别开来,无论是对构建科学的成本管理学科体系,还是对加强成本的实际管理均具有重要意义。 1.确认成本管理的两个方面,对架构科学的成本管理学科体系的重要意义我国的成本管理学和成本会计学均将成本管理和成本核算的目的归结为降低成本,提高经济效益。 比如,作为全国会计专业技术资格考试指定用书的《成本会计》,对成本会计的任务做了如下阐述:“成本会计不可能全面地实现企业经营者管理各个方面的要求,而只能在成本会计对象和职能的范围内,以达到降低成本、费用,提高经济效益的目的。 ”笔者认为,这种把成本管理仅仅归结为效益管理,而忽视成本管理与利益管理联系的成本管理理论,既不能如实地反映成本管理实际,也不利于人们全面地认识成本管理的功能与充分地发挥成本管理的作用。 如果只承认成本管理与经济效益的联系,而不承认成本管理与经济利益的联系,下列问题就难以得到清楚的解释。 如,既然进行成本管理的目的只是为了降低成本,提高企业的经济效益,为什么还会发生企业乱挤乱摊成本的现象?国家治理成本作假有何必要?既然进行成本管理的目的只是为了降低成本,提高企业的经济效益,成本管理就应该是一种企业行为,为什么国家还要规定成本范围和制定相关的核算原则?既然进行成本管理的目的只是为了降低成本,提高企业的经济效益,为什么还会形成财务会计成本核算和管理会计成本核算两大不同的成本核算体系?凡此种种,均反映了将成本管理的目的仅仅归结为提高经济效益这一理论观点的缺陷。 要想构建使成本管理实际得到全面的理解和使成本管理实践得到正确指导的、科学的成本管理理论体系,无疑必须以对成本管理的效益与利益两个方面的认识为基础。 正是因为成本在反映着一定的生产效率的同时,还体现着一定的生产关系和分配关系,成本管理在实现经济效益目标的同时,还要实现经济利益合理化的目标,才有国家规定成本范围,分别进行财务会计成本核算与管理会计成本核算的必要。 基于对成本管理两个方面-效益管理与利益管理的认识,笔者认为,科学的成本管理理论体系,应主要包括以下内容:一是阐明成本与经济效益、经济利益要。 基于对成本管理两个方面-效益管理与利益管理的认识,笔者认为,科学的成本管理理论体系,应主要包括以下内容:一是阐明成本与经济效益、经济利益的关系,架构内涵效益成本管理子系统与利益成本管理子系统的成本管理系统;二是阐明各成本管理子系统的管理主体、管理目标、管理功能、管理原则、管理方式、管理技能与方法、管理环境等;三是阐明成本的效益管理子系统与成本的利益管理子系统的联系与区别,揭示二者既相互独立又相互统一的关系;四是阐明成本管理系统产生与发展的历史。 2.确认成本管理的两个方面,对于正确地指导成本管理实践,全方位地加强成本管理具有重要意义第一,有助于全面认识成本管理工作,科学地指导成本管理实践。 如前所述,无论是会计理论界,还是实务界,在谈到成本管理时,一般都将成本管理的目的归结为降低耗费,提高经济效益。 依据成本管理“两方面”的观点,笔者认为,上述认识从理论上看是片面的,从实践上看是有害的。 之所以说是片面的,是因为这种认识只看到了成本管理与经济效益相关的一面,却忽视了成本管理与经济利益相关的一面,事实上,在成本管理工作中大量地存在着人与人之间经济利益关系的处理问题。 之所以说是有害的,是因为这种认识片面强调成本的效益管理,却忽视成本的利益管理,致使在实践中或者以成本的效益管理取代成本的利益管理,或者将成本的利益管理误认为是成本的效益管理,从而大大削弱了成本的利益管理。 认识是行动的先导,有正确的认识,才会有正确的行动,只有从效益与利益两个方面全面地把握成本管理系统,才会有全面、科学的成本管理工作。 第二,有助于科学地组织成本管理工作和提高成本管理水平。 当我们从效益与利益两个方面去全面地观察和研究成本管理时,便会发现,成本的效益管理与成本的利益管理,无论是就管理的主体而言,还是就管理的原则、管理的内容而言,都存在着显著的差异。 就管理主体而言,由于进行成本的效益管理在于寻求降低成本的途径,以实现降低成本的目的,而寻求降低成本的途径,无例外都是在企业经营管理者的组织和领导下进行的,所以成本效益管理的主体必定是企业经营管理者及其职能部门、生产部门。 进行成本的利益管理,主要在于维护各相关利益者的正当利益,确保成本的真实性、可靠性,避免发生以虚增或虚减成本为手段谋取不正当、非法利益的行为。 在现代企业制度和生产关系的条件下,这一成本的利益管理主体只能由政府来承担,只有通过政府制定有关法规制度才能有效地约束、监督企业行为,使之规范化、合理化。 相对政府这一管理主体,企业无疑是被管理者、被监督者与相关政策、法规的执行者。 就管理原则而言,成本的效益管理,遵循的是相关性原则与灵活性原则。 相关性原则,是指成本管理的内容、成本核算人员提供的成本资料,应与降低、控制成本的目标相关,或对决策者的决策结果产生影响。 灵活性原则,是指成本的构成、计算程序和计算方法具有一定的可选择性与变动性。 成本的利益管理原则主要体现为利益成本的核算原则,具体包括客观性原则、规范性原则、完整性原则与稳定性原则。 客观性原则,是指成本核算必须以实际发生的经济业务和反映经济业务完成的凭证为依据,以保证成本的真实可靠;规范性原则,是指成本核算必须以国家或行业组织制定的有关法规、准则为准绳,不得随意更改与变动;稳定性原则,是指成本核算的方法和程序必须相对固定,避免由于轻易变动成本的计算方法与程序而侵害某些相关利益者的利益[3].就管理内容而言,效益成本管理包括成本规划管理与成本控制管理两个组成部分。 利益成本管理则主要包括以下三方面内容:一是合理地界定成本范围;二是科学地制定与严格执行成本确认、计量的有关原则,防范会计作假行为的发生;三是严密监督成本确认、计量行为,严格审核成本确认、计量结果。 总之,成本的效益管理与成本的利益管理在管理主体、管理原则、管理内容等方面均存在着一系列差异,不弄清这些差异,笼统地谈加强成本管理,显然无法使加强成本管理的工作落到实处并富有成效。 必须从经济效益与经济利益两个方面去认识与探究成本管理工作,唯如此,才能确保成本管理工作科学、有序地进行,并使成本管理水平不断得到提高。 更多关于工程/服务/采购类的标书代写制作,提升中标率,您可以点击底部官网客服免费咨询:

Kubernetes CPU管理及调度

在 内存管理篇 ,我们研究了Kubernetes(K8s)requests和limits的资源含义,以及Docker容器运行时的内存含义。 我们在这里将介绍K8中的CPU的含义,以及CPU的requests和limits,并研究如何为Pod设置合理的cpu资源。 那么,CPU在kubernetes中的确切含义是什么?一个CPU等价于node操作系统提供的一个CPU核心。 与内存相反,CPU在kubernetes中是可压缩的,这意味着它可以被throttled(限制)。 当您指定容器的CPU limits时,实际上是在nodes上限制该容器的CPU时间,而不是设置容器对特定的一个CPU或一组CPU的亲和性。 这意味着,即使您指定的limits少于节点上的CPU总数,您的容器仍会看到(并使用)该节点的所有CPU,只是你的容器可以使用的cpu的时间是有限的。 例如,在具有8个CPU核心的node上指定某个容器的CPU limits为4,这也就意味着该容器只能使用相当于4个CPU核心的全部时间,但是可以分布在所有CPU核心上。 对于在专用node上运行的单个容器,这种情况下,该node所有CPU核心的最大允许使用率将为50%。 那么,kuberne上的这种限制转换成Docker中的控制会是怎样呢? K8s通过传递cpu-period和cpu-quota选项来实现kubernetes中的CPU limits 。 cpu-period始终设置为μs(100ms),表示跟踪容器CPU利用率的时间段。 cpu-quota是容器在每个cpu周期内可以使用的CPU时间总量。 这两个设置都控制着内核的完全公平调度程序(CFS)。 这是不同的K8s CPU限制转换为Docker配置的方式:limits 1:cpu-quota=limits 4:cpu-quota=limits 0.5:cpu-quota=limits 1 意味着每100ms,允许使用总CPU时间相当于一个CPU核心的100%CPU时间, limits 4 意味着每100ms允许使用总CPU时间相当于一个CPU核心400%的CPU时间 (或者,相当于4个CPU核心100%的CPU时间) 。 不要忘记,这些CPU时间都是分布在所有的CPU核心上的。 由于CFS配额的工作方式, 在给定时间段内超出其配额的任何容器在该时间段内将不允许再次运行,直到下一个时间段 -这意味着您的程序会感觉到莫名其妙的暂停,特别是如果您的程序设置了CPU limits,并且对延迟敏感的情况下这种感觉更加明显。 您可以通过指定Pod的request来指定Pod所需的CPU(或CPU的一部分),在指定request的时候,kubernetes不允许node的request的值超过节点的CPU核数(属于某个node上的所有pod的cpu的request的总和不能超过该node上显示的CPU数量)。 您可以将request的总数设置为node的CPU的核数,但是当node的工作负载过高时,例如当CPU的使用率达到甚至超过100%时会怎样?这时, 容器的CPU调度优先级由Pod的``requests的值来决定,该requests的值乘以1024后的乘积作为cpu-shares选项传递给Docker 。 cpu-shares实际上就是一个权重;如果节点上运行的所有容器具有相同的权重,则在负载过大的情况下(没有空闲的CPU周期时),所有容器将具有相同的CPU调度优先级。 如果一个容器的权重比其他容器大,则在负载过大的情况下,它将具有更高的CPU调度优先级,并能够比其他容器获得更多的CPU时间。 在 内存篇 , burstable的QoS配置意味着在其他容器不使用CPU的情况下,您的容器使用这些空闲的CPU时间,从而可能使用到比requests更多的CPU时间。 这样可以潜在地更有效地利用基础资源,但具有更大的不可预测性,例如,对CPU比较依赖的应用程序的响应延迟可能会受到在同一nodes上的其他容器的暂时影响。 在最坏的情况下,一个node上的burstable容器若过多,将会引起非常高的CPU负载,从而相互对彼此产生负面。 如果您是K8新手,那么最好将requests和limits的值设置为相同,从而确保你的pod是Guaranteed类型的容器。 当您对CPU的资源利用特性了解的更深入时,并可能发现您在CPU方面的配置已过剩时,您可以考虑引入Burstable容器,以期获得更大的收益,甚至可以提高CPU的整体使用率。 您应该为容器分配多少个CPU?根本没有标准答案,这取决于你应用的组特性,可接受的性能,pod的调度策略,主机类型,成本等。 但是-如果您对你的应用了如指掌,则可以在性能测试环境中甚至在生产环境中尝试不同的配置。 最终你将会找到性能和成本的平衡点,但是container-throttling是Linux上运行的CPU密集型应用的重要影响因素。 通常可以使用Prometheus来查看CPU的相关信息,也可以直接进入容器并查看cgroup CPU统计信息: cat /sys/fs/cgroup/cpu,cpuacct/ 该文件中包含了总共执行了多少次CPU调度,容器被限制的总次数以及累积限制的时间(以纳秒为单位)。 参考:

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: 容器

“容器资源分配策略-兼顾稳定性和成本效益 (容器资源管理)” 的相关文章

容器资源自愈-深入了解其益处和最佳实践 (容器资源限制)

容器资源自愈-深入了解其益处和最佳实践 (容器资源限制)

前言 容器作为一种新的资源类型,已经应用于各大公司,G行也不例外。容器的轻量化特性使得它能够在故障发生时快速进行重建,将对业务的影响降到最低,我们通常称它为自愈。 容器自愈本质 谈到容器自...

Go-调度器-理解-深入剖析云原生基础架构-容器以及Linux (调度器模式)

Go-调度器-理解-深入剖析云原生基础架构-容器以及Linux (调度器模式)

在容器中部署的 Go 应用程序通常需要设置 CPU 限制,以确保容器不会耗尽主机上的所有 CPU。但是,由于 Go 运行时不知道在容器上设置的 CPU 限制,因此它可能会使用所有可用的 CPU,从...

容器与虚拟机的优劣势分析-全面解读云计算架构选择 (容器与虚拟机有什么不同)

容器与虚拟机的优劣势分析-全面解读云计算架构选择 (容器与虚拟机有什么不同)

简介 在现代云计算中,容器和虚拟机 (VM) 都是常用的技术,它们在实现资源隔离和应用程序部署方面有着不同的方式和特点。本文将对容器和虚拟机的区别进行详细探讨,以帮助读者更好地理解它们的应用场景...

Docker的替代品-Containerd容器管理 (docker logs)

Docker的替代品-Containerd容器管理 (docker logs)

Introduction CRI-O is a container runtime engine developed by Red Hat. It is a lightweight altern...

几款热门容器化编排工具对比

几款热门容器化编排工具对比

什么是容器管理? 容器管理是一系列涉及部署、运行、监控和维护容器化应用程序的操作,以有效管理这些应用程序。 容器编排工具 Kubernetes Docker...

Kubernetes-容器编排的行业标准 (kubernetes与docker的关系)

Kubernetes-容器编排的行业标准 (kubernetes与docker的关系)

Kubernetes(简称K8s)是一个开源的容器编排平台,它能够自动化管理容器的部署、扩展、维护和升级。本文将深入探讨 Kubernetes 的概念、特点、应用场景以及未来发展趋势。 1....

Dockerfile-Buildpack-替代-轻松构建容器镜像-使用 (docker logs)

Dockerfile-Buildpack-替代-轻松构建容器镜像-使用 (docker logs)

在现代的云原生交付领域中,效率、速度和简捷性至关重要。Buildpacks(构建包)已成为一种强大的工具,彻底改变了创建项目的镜像方式。相较于传统的费时费力的 Dockerfile 创建和维...