System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及基于容器的群集的多维自动扩缩。
技术介绍
1、现代应用程序是经设计以利用现代计算平台及基础设施的益处的应用程序。举例来说,现代应用程序可以多重云或混合云方式部署。多重云应用程序可跨越多个云部署,所述云可为由不同的云提供者或同一云提供者提供的多个公有云或者公有云与私有云的混合。术语“私有云”是指可具有以类云方式分配的池化资源的一或多个本地数据中心。混合云具体是指公有云与私有云的组合。因此,跨越混合云环境部署的应用程序消耗在公有云中执行的云服务及在私有数据中心(例如,私有云)中执行的本地服务两者。在公有云或私有数据中心内,现代应用程序可部署到一或多个虚拟机(vm)、容器、应用程序服务及/或类似物上。
2、容器是依赖于虚拟隔离来部署及运行取决于共享操作系统(os)核心的应用程序的封装。容器化应用程序(还称为“容器化工作负载”)可包含封装到一或多个容器中的一或多个相关应用程序的集合。在一些编排系统中,共享存储及网络资源的一组一或多个相关容器(称为容器组(pod))部署为计算软件的单元。容器编排系统使容器的生命周期自动化,包含例如预配、部署、监测、扩缩(扩大及/或缩小)、联网及负载平衡等操作。
3、软件是使此类容器化应用程序的部署及操作自动化的实例开源容器编排平台。在高层级处,kubernetes平台由含有在平台中管理的kubernetes对象或持久实体的中央数据库构成。kubernetes对象表示于例如javascript对象表示法(json)或yaml文件等配置文件中,且描述用于运行容器化应用程序的经
4、kubernetes中存在两种对象类别:原生kubernetes对象及自定义资源定义(crd)对象(本文中还称为“自定义资源”)。原生kubernetes对象包含由kubernetes应用程序编程接口(api)支持且可由其创建/操纵的容器组、服务、存储卷、命名空间、部署、复制控制器、副本集(replicaset)及/或类似物。kubernetes api是经由http提供的基于资源的(例如,rest风格(restful)或表述性状态转移架构风格)编程接口。另一方面,crd对象是使kubernetes api扩展或允许用户将其自己的api引入到kubernetes群集中的对象。
5、kubernetes经设计以适应任何数目及/或类型的配置,只要不超出特定限制即可(例如,不超过每节点第一容器组阈值数目、不超过第二容器组阈值总数目、不超过第三节点阈值总数目等)。然而,导出用于部署容器化应用程序的“最佳”配置是具技术挑战性的问题。特定来说,“最佳”配置是在使平台操作保持简单的同时平衡成本、资源消耗及应用程序性能/可用性的配置。理解在基于容器的群集中实施的容器组的数目、节点的数目、节点大小及容量、副本集的数目(例如,容器组副本的数目)、容器组资源需求、容器组资源限制等使得这些变量为优化的可为不明显或不容易确定的。事实上,确定“最佳”配置通常需要试错过程而导致(1)在分配不足的情形中发生许多被终止/重新启动的容器组及(2)在分配过度的情形中发生资源浪费。此外,随着应用程序请求随时间改变,此类配置可需要被不断更新。
6、确定基于容器的群集的“最佳”配置的一些常规方法本质上为更经验性的。举例来说,一种常规方法依赖于专业人员的知识来识别群集配置的部署。专家在导出配置时可能需要知晓工作负载模式、应用程序实施方案以及理解基础设施需求及限制。因为这是一种固有的主观方法,因此是不可重复或不可扩缩的。因此,用于确定试图优化成本、资源消耗、应用程序性能及操作复杂性的群集配置的常规人工方法可为无效的。
7、此外,为了考虑到所部署的应用程序的数目及/或不同应用程序的资源请求随时间的改变,常规方法已开发数种工具,包含水平容器组自动扩缩器(hpa)、垂直容器组自动扩缩器(vpa)及群集自动扩缩器(ca)。这些自动扩缩器经设计以通过提供应用程序资源的自动可扩缩性以适应变化的负载而帮助保证kubernetes中的可用性。
8、hpa是经设计以自动更新工作负载资源(例如部署及副本集(例如,经设计以管理一组容器组的部署及扩缩))从而使其扩缩以匹配基于容器的群集中的应用程序的需求的工具。水平扩缩是指响应于负载增加而在群集中部署额外容器组及/或响应于负载减少而移除基于容器的群集中的容器组的过程。在一些情形中,hpa经设计以基于实际使用率度量(例如中央处理单元(cpu)及/或存储器利用率)而自动增加及/或减少群集中的容器组副本的数目。在某些实施例中,hpa被实施为控制循环以基于所要度量值与当前度量值之间的比率而使容器组副本扩缩。对所要使用率度量值的选择使得强制执行应用程序可用性与操作成本之间的折衷。
9、vpa是经设计以自动调整资源限制及/或资源请求(例如,相对于cpu及/或存储器)以帮助确保容器组始终高效操作的工具。vpa通过分析在容器组中运行的容器的历史存储器及/或cpu使用率以及当前存储器及/或cpu使用率而确定所述调整。在某些实施例中,vpa提供用户可使用来人工更新配置的针对资源请求及/或限制的推荐值。在某些实施例中,vpa基于这些推荐值而自动更新配置。
10、ca是扩大或缩小基于容器的群集中的节点的数目以帮助确保存在足够节点来运行所有所请求容器组且从群集移除多余节点的独立式程序。举例来说,ca经设计以在由于现有节点之间的资源不充足而存在无法在现有节点中的任一者上调度的等待中容器组时向群集添加节点。另外,ca经设计以在至少一个节点始终不被需要时及在运行于节点上的容器组能够转移到不同节点来执行时减少群集中的节点的数目。如此,ca经设计以通过基于新容器组被添加及/或移除而添加及/或移除节点来以反应式方式起作用。在一些情形中,这致使添加到群集的新容器组处于等待状态直到额外节点被预配,因此影响应用程序性能。在一些ca实施方案中,通过预留空间来欺骗ca过早地添加额外节点来部署被暂停的容器组以改善此问题。然而,这会向系统中引入额外操作复杂性及成本。
11、换句话说,上文所描述的自动扩缩器使扩缩应用程序以适应工作负载改变的过程自动化。然而,自动扩缩器自身需要被配置及随时间调谐,因此引入重大的设置及维护开销。此外,这些自动扩缩器工具可能无法良好地共同工作(如果不是根本无法共同工作的话),且如此,可在被部署时增加这些自动扩缩器的设置、调谐及维护的复杂性。举例来说,当前,hpa及vpa未经设计以同时在同一资源上使用,因为其均试图以不同方式优化资源。
12、应注意,本文中的
技术介绍
章节中所包含的信息仅意在提供对具体实施方式中的某些实施例的论述的参考。此
技术介绍
中所包含的所本文档来自技高网...
【技术保护点】
1.一种用于确定基于容器的群集的目标配置的方法,所述方法包括:
2.根据权利要求1所述的方法,其中基于所述目标配置的所述奖励分数将所述目标配置选择为来自所述多个候选配置的所述候选配置包括:将所述目标配置选择为来自所述多个候选配置的具有针对所述多个候选配置计算的所述奖励分数当中的最高奖励分数的候选配置。
3.根据权利要求1所述的方法,其中调整所述基于容器的群集的所述配置设定包括自动调整以下各项中的至少一者:
4.根据权利要求1所述的方法,其中调整所述基于容器的群集的所述配置设定包括:
5.根据权利要求1所述的方法,其中:
6.根据权利要求1所述的方法,其中:
7.根据权利要求1所述的方法,其进一步包括:
8.根据权利要求7所述的方法,其进一步包括产生所述多个训练数据实例中的每一者,其中产生所述多个训练数据实例中的训练数据实例包括:
9.根据权利要求1所述的方法,其进一步包括:
10.一种系统,其包括:
11.根据权利要求10所述的系统,其中基于所述目标配置的所述奖
12.根据权利要求10所述的系统,其中调整所述基于容器的群集的所述配置设定包括自动调整以下各项中的至少一者:
13.根据权利要求10所述的系统,其中调整所述基于容器的群集的所述配置设定包括:
14.根据权利要求10所述的系统,其中:
15.根据权利要求10所述的系统,其中:
16.根据权利要求10所述的系统,其中所述一或多个处理器及所述至少一个存储器进一步经配置以:
17.根据权利要求16所述的系统,其中所述一或多个处理器及所述至少一个存储器进一步经配置以产生所述多个训练数据实例中的每一者,其中产生所述多个训练数据实例中的训练数据实例包括:
18.根据权利要求10所述的系统,其中所述一或多个处理器及所述至少一个存储器进一步经配置以:
19.一种包括指令的非暂时性计算机可读媒体,所述指令在由计算系统的一或多个处理器执行时致使所述计算系统执行用于确定基于容器的群集的目标配置的操作,所述操作包括:
20.根据权利要求19所述的非暂时性计算机可读媒体,其中基于所述目标配置的所述奖励分数将所述目标配置选择为来自所述多个候选配置的所述候选配置包括:将所述目标配置选择为来自所述多个候选配置的具有针对所述多个候选配置计算的所述奖励分数当中的最高奖励分数的候选配置。
...【技术特征摘要】
1.一种用于确定基于容器的群集的目标配置的方法,所述方法包括:
2.根据权利要求1所述的方法,其中基于所述目标配置的所述奖励分数将所述目标配置选择为来自所述多个候选配置的所述候选配置包括:将所述目标配置选择为来自所述多个候选配置的具有针对所述多个候选配置计算的所述奖励分数当中的最高奖励分数的候选配置。
3.根据权利要求1所述的方法,其中调整所述基于容器的群集的所述配置设定包括自动调整以下各项中的至少一者:
4.根据权利要求1所述的方法,其中调整所述基于容器的群集的所述配置设定包括:
5.根据权利要求1所述的方法,其中:
6.根据权利要求1所述的方法,其中:
7.根据权利要求1所述的方法,其进一步包括:
8.根据权利要求7所述的方法,其进一步包括产生所述多个训练数据实例中的每一者,其中产生所述多个训练数据实例中的训练数据实例包括:
9.根据权利要求1所述的方法,其进一步包括:
10.一种系统,其包括:
11.根据权利要求10所述的系统,其中基于所述目标配置的所述奖励分数将所述目标配置选择为来自所述多个候选配置的所述候选配置包括:将所述目标配置选择为来自所述多个候选配置的具有针对所述多个候选配置计算的所述奖励分数当中的最高奖励分数的候选配置。...
【专利技术属性】
技术研发人员:王东妮,A·韦努戈帕兰,A·查克拉瓦蒂,M·沃尔库,A·拉蒂斯,G·伯克,
申请(专利权)人:威睿有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。