CN115469974A - 资源受限状态下的Kubernetes Pod弹性扩缩容方法 - Google Patents

资源受限状态下的Kubernetes Pod弹性扩缩容方法 Download PDF

Info

Publication number
CN115469974A
CN115469974A CN202211367716.6A CN202211367716A CN115469974A CN 115469974 A CN115469974 A CN 115469974A CN 202211367716 A CN202211367716 A CN 202211367716A CN 115469974 A CN115469974 A CN 115469974A
Authority
CN
China
Prior art keywords
resource
cluster
pod
elastic expansion
capacity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211367716.6A
Other languages
English (en)
Inventor
李凡
牛新征
黄明峰
王流一
许佳
郑云红
罗涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Haiyou Science And Technology Co ltd
Chengdu Wisersoft Information Technology Co ltd
Original Assignee
Guizhou Haiyou Science And Technology Co ltd
Chengdu Wisersoft Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou Haiyou Science And Technology Co ltd, Chengdu Wisersoft Information Technology Co ltd filed Critical Guizhou Haiyou Science And Technology Co ltd
Priority to CN202211367716.6A priority Critical patent/CN115469974A/zh
Publication of CN115469974A publication Critical patent/CN115469974A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了资源受限状态下的Kubernetes Pod弹性扩缩容方法。所述方法包括:获取Kubernetes集群的资源指标数据,对资源指标数据进行清洗,得到清洗后资源指标数据;将清洗后当前资源指标数据输入Softmax分类模型,得到未来资源需求情况;构建集群弹性扩缩容指标计算公式,计算集群弹性扩缩容指标;结合未来资源需求情况、集群弹性扩缩容指标和集群资源状态,得到Kubernetes Pod的弹性扩缩容策略。通过上述方式,本发明在Kubernetes集群的容器调度单元Pod弹性扩缩容策略中,考虑了资源受限状态下的执行方案,使本发明适配Kubernetes集群可能出现的资源受限状态。

Description

资源受限状态下的Kubernetes Pod弹性扩缩容方法
技术领域
本发明涉及容器编排策略领域,特别是涉及资源受限状态下的Kubernetes Pod弹性扩缩容方法。
背景技术
随着容器技术的逐渐普及,作为容器编排工具领域最优秀代表之一的Kubernetes框架被广泛应用,各大公司也在开源版本的Kubernetes框架上对其进行针对性的修改。Kubernetes在其v2/beta版本中推出了可以自定义集群弹性扩缩容指标的Pod弹性扩缩容服务(Horizontal Pod Autoscaler)。虽然,最近的研究中也开始对Kubernetes Pod弹性扩缩容方法的研究,但是现有的方法大多无法准确的掌握集群弹性扩缩容的力度,且大多数方法不具备受限状态下的处理策略。
公布号为CN 114637650 A,名称为一种基于Kubernetes集群的弹性伸缩方法,提出基于CNN-LSTM混合网络,根据历史指标值预测未来工作负载,通过当前指标值与预测指标值之差的绝对值与设定阈值进行比较,大于设定阈值,则说明有扩缩容的必要,并且设置的一个计时器计算的耗时,耗时小于等于时间阈值,则进行扩容和缩容;默认的集群弹性扩缩容指标只包含CPU和内存等基础指标,这无法准确的反应系统的真实情况。
公布号为CN 113395178 A,名称为一种容器云弹性伸缩的方法及装置,提出通过自动监控集群状态以及微服务当前资源使用率提前实现扩容节点,实现两级弹性扩缩容。先判断微服务的资源使用率是否满足预设扩容条件,若满足则计算扩容所需的资源,判定集群节点资源中剩余节点是否满足扩容所需资源,若不满足,则扩容最小规格。默认的集群弹性扩缩容指标只包含CPU和内存等基础指标,这无法准确的反应系统的真实情况,Kubernetes在未来会应用到计算和存储资源更少的主机上,例如板卡,这类主机的一大特点就是在运行过程中很大可能会出现资源受限状态,而现有的Kubernetes Pod弹性扩缩容方法无法适应能会出现资源受限状态。
上述现有技术存在的缺点会影响Kubernetes的弹性扩缩容的力,使其无法管理超大规模的容器,给管理员带来了很大的集群管理压力。所以本发明提出了资源受限状态下的Kubernetes Pod弹性扩缩容方法。
发明内容
本发明主要解决的技术问题是提供资源受限状态下的Kubernetes Pod弹性扩缩容方法,能够解决现有的Kubernetes Pod弹性扩缩容方法无法适应可能会出现的资源受限状态问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述包括:
S1:获取容器编排工具Kubernetes集群的资源指标数据,所述资源指标数据包括:历史资源指标数据和当前资源指标数据;
S2:对所述资源指标数据进行清洗,得到清洗后资源指标数据,清洗后资源指标数据包括:清洗后历史资源指标数据和清洗后当前资源指标数据;
S3:构建Softmax分类模型,用于预测未来资源需求情况,所述未来资源需求情况包括:稳定、增加、减少、资源过剩和资源瓶颈;
S4:将清洗后当前资源指标数据输入Softmax分类模型,得到未来资源需求情况;
S5:构建集群弹性扩缩容指标计算公式,计算集群弹性扩缩容指标;
S6:结合所述未来资源需求情况、集群弹性扩缩容指标和集群资源状态,得到Kubernetes Pod的弹性扩缩容策略,所述集群资源状态包括:资源受限和资源充足。
进一步地,所述S1,包括:
所述历史资源指标数据包括:集群连接数、磁盘读写情况、CPU利用率、网络延迟情况、可用的容器调度单元Pod数量、前五次非稳定结果发生时间;
所述当前资源指标数据包括:集群连接数、磁盘读写情况、CPU利用率、网络延迟情况,可用的容器调度单元Pod数量、历史最近一次非稳定结果发生时间。
进一步地,所述S2,包括:
所述清洗,是指对资源指标数据进行空值填充,对空值填充后的资源指标数据按照时间段进行分组聚合;最后对分组聚合后的一个时间段内的指标数据进行时间序列化和归一化后得到清洗后资源指标数据;
所述一个时间段,时长优选为5分钟。
进一步地,所述S3,包括:
所述构建Softmax分类模型,是将所述清洗后历史资源指标数据分为训练集和测试集,分别对所述Softmax分类模型进行训练和预测;
所述Softmax分类模型,分类标签包括:稳定、增加、减少、资源过剩和资源瓶颈。
所述Softmax分类模型的具体计算公式为:
Figure 808327DEST_PATH_IMAGE001
其中,
Figure 269396DEST_PATH_IMAGE002
为第i个清洗后历史资源指标数据的预测函数,
Figure 872809DEST_PATH_IMAGE003
为输入资源特征,
Figure 114434DEST_PATH_IMAGE004
为类标签,
Figure 592820DEST_PATH_IMAGE005
是模型参数的行向量矩阵,对每个清洗后历史资源指标数据,估计其所属类别概率
Figure 908395DEST_PATH_IMAGE006
Figure 509141DEST_PATH_IMAGE007
为特征
Figure 910166DEST_PATH_IMAGE003
的分类权重,
Figure 690778DEST_PATH_IMAGE008
是对概率分布进行归一化,使
Figure 188755DEST_PATH_IMAGE009
属于每个类别概率之和为1,k为类别的整数个数;
所述Softmax分类模型的损失函数为:
Figure 632506DEST_PATH_IMAGE010
其中,m代表样本数,k代表类别数,c表示包含c类的实例的分类任务,
Figure 848724DEST_PATH_IMAGE011
表示类别权重,
Figure 668912DEST_PATH_IMAGE012
是样本特征和类别权重、尺度因子、边距因子的点积。
进一步地,所述S5,包括:
所述计算集群弹性扩缩容指标Ela,包括:集群连接数
Figure 21396DEST_PATH_IMAGE013
、磁盘读写情况
Figure 636048DEST_PATH_IMAGE014
、网络延迟情况
Figure 513131DEST_PATH_IMAGE015
、CPU利用率
Figure 199327DEST_PATH_IMAGE016
、可用的容器调度单元Pod数量
Figure 344001DEST_PATH_IMAGE017
,所述计算公式为:
Figure 395133DEST_PATH_IMAGE018
其中,Ela指集群弹性扩缩容指标,其中
Figure 320364DEST_PATH_IMAGE019
,Ela的取值范围为[0,1],其中,
Figure 482355DEST_PATH_IMAGE020
参数可以根据不同集群重要性进行调整。
进一步地,所述S6,包括:
所述弹性扩缩容策略,包括:
当未来资源需求情况为稳定、集群资源状态为资源充足、集群弹性扩缩容指标Ela>0.6且CPU利用率δ>0.6时,对容器调度单元Pod进行扩容,若集群弹性扩缩容指标Ela <0.3且CPU利用率δ<0.3时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为增加、集群资源状态为资源充足、集群弹性扩缩容指标Ela>0.5且CPU利用率δ>0.5时,对容器调度单元Pod进行扩容,其他情况则保持不变;
当未来资源需求情况为减少,不考虑集群资源状态,集群弹性扩缩容指标Ela <0.5且CPU利用率δ<0.5时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为资源过剩,不考虑集群资源状态,对容器调度单元Pod进行缩容;
当未来资源需求情况为资源瓶颈、集群资源状态为资源充足,对容器调度单元Pod进行扩容,其他情况则保持不变。
进一步地,
所述对容器调度单元Pod进行缩容,指在一个预测周期内减少一个Pod单位;
所述对容器调度单元Pod进行扩容,指在一个预测周期内增加一个Pod单位。
本发明有益效果为:
1)资源受限状态下的Kubernetes Pod弹性扩缩容方法,创新性的将Softmax分类模型引入到Kubernetes集群弹性扩缩容前的资源预测中,使扩缩容时算法能更了解系统的资源情况。
2)提出了一种自定义集群弹性扩缩容指标Ela,所述集群弹性扩容指标包括了集群连接数,磁盘读写情况,CPU利用率、网络延迟情况,可用的容器调度单元Pod数量;所述集群弹性扩容指标在覆盖维度上明显优于现有Kubernetes弹性扩缩容默认指标;考虑了资源受限状态下的执行方案,使本发明能适配Kubernetes集群可能出现的资源受限状态。
附图说明
图1是本发明一种资源受限状态下的Kubernetes Pod弹性扩缩容方法的系统流程图;
图2是Kubernetes Pod的弹性扩缩容策略结构图左边部分;
图3是Kubernetes Pod的弹性扩缩容策略结构图右边部分。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
请参阅图1、图2和图3,本发明实施例包括:
S1:获取容器编排工具Kubernetes集群的资源指标数据,所述资源指标数据包括:历史资源指标数据和当前资源指标数据;
S2:对所述资源指标数据进行清洗,得到清洗后资源指标数据,清洗后资源指标数据包括:清洗后历史资源指标数据和清洗后当前资源指标数据;
S3:构建Softmax分类模型,用于预测未来资源需求情况,所述未来资源需求情况包括:稳定、增加、减少、资源过剩和资源瓶颈;
S4:将清洗后当前资源指标数据输入Softmax分类模型,得到未来资源需求情况;
S5:构建集群弹性扩缩容指标计算公式,计算集群弹性扩缩容指标;
S6:结合所述未来资源需求情况、集群弹性扩缩容指标和集群资源状态,得到Kubernetes Pod的弹性扩缩容策略,所述集群资源状态包括:资源受限和资源充足。
进一步地,所述S1,包括:
所述历史资源指标数据包括:集群连接数、磁盘读写情况、CPU利用率、网络延迟情况、可用的容器调度单元Pod数量、前五次非稳定结果发生时间;
所述当前资源指标数据包括:集群连接数、磁盘读写情况、CPU利用率、网络延迟情况,可用的容器调度单元Pod数量、历史最近一次非稳定结果发生时间。
进一步地,所述S2,包括:
所述清洗,是指对资源指标数据进行空值填充,对空值填充后的资源指标数据按照时间段进行分组聚合;最后对分组聚合后的一个时间段内的指标数据进行时间序列化和归一化后得到清洗后资源指标数据;
所述一个时间段,时长优选为5分钟。
进一步地,所述S3,包括:
所述构建Softmax分类模型,是将所述清洗后历史资源指标数据分为训练集和测试集,分别对所述Softmax分类模型进行训练和预测;
所述Softmax分类模型,分类标签包括:稳定、增加、减少、资源过剩和资源瓶颈。
所述Softmax分类模型的具体计算公式为:
Figure 809431DEST_PATH_IMAGE001
其中,
Figure 530000DEST_PATH_IMAGE002
为第i个清洗后历史资源指标数据的预测函数,
Figure 614631DEST_PATH_IMAGE003
为输入资源特征,
Figure 642630DEST_PATH_IMAGE004
为类标签,
Figure 761896DEST_PATH_IMAGE005
是模型参数的行向量矩阵,对每个清洗后历史资源指标数据,估计其所属类别概率
Figure 154831DEST_PATH_IMAGE006
Figure 54654DEST_PATH_IMAGE007
为特征
Figure 59912DEST_PATH_IMAGE003
的分类权重,
Figure 33684DEST_PATH_IMAGE008
是对概率分布进行归一化,使
Figure 597521DEST_PATH_IMAGE009
属于每个类别概率之和为1,k为类别的整数个数;
所述Softmax分类模型的损失函数为:
Figure 719061DEST_PATH_IMAGE010
其中,m代表样本数,k代表类别数,c表示包含c类的实例的分类任务,
Figure 26545DEST_PATH_IMAGE011
表示类别权重,
Figure 618938DEST_PATH_IMAGE012
是样本特征和类别权重、尺度因子、边距因子的点积。
进一步地,所述S5,包括:
所述计算集群弹性扩缩容指标Ela,包括:集群连接数
Figure 415993DEST_PATH_IMAGE013
、磁盘读写情况
Figure 962512DEST_PATH_IMAGE014
、网络延迟情况
Figure 808108DEST_PATH_IMAGE015
、CPU利用率
Figure 818790DEST_PATH_IMAGE016
、可用的容器调度单元Pod数量
Figure 724429DEST_PATH_IMAGE017
,所述计算公式为:
Figure 271427DEST_PATH_IMAGE018
其中,Ela指集群弹性扩缩容指标,其中
Figure 983032DEST_PATH_IMAGE019
,Ela的取值范围为[0,1],其中,
Figure 51482DEST_PATH_IMAGE020
参数可以根据不同集群重要性进行调整。
进一步地,所述S6,包括:
所述弹性扩缩容策略,包括:
当未来资源需求情况为稳定、集群资源状态为资源充足、集群弹性扩缩容指标Ela>0.6且CPU利用率δ>0.6时,对容器调度单元Pod进行扩容,若集群弹性扩缩容指标Ela <0.3且CPU利用率δ<0.3时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为增加、集群资源状态为资源充足、集群弹性扩缩容指标Ela>0.5且CPU利用率δ>0.5时,对容器调度单元Pod进行扩容,其他情况则保持不变;
当未来资源需求情况为减少,不考虑集群资源状态,集群弹性扩缩容指标Ela <0.5且CPU利用率δ<0.5时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为资源过剩,不考虑集群资源状态,对容器调度单元Pod进行缩容;
当未来资源需求情况为资源瓶颈、集群资源状态为资源充足,对容器调度单元Pod进行扩容,其他情况则保持不变。
进一步地,
所述对容器调度单元Pod进行缩容,指在一个预测周期内减少一个Pod单位;
所述对容器调度单元Pod进行扩容,指在一个预测周期内增加一个Pod单位。
实施例1:
资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述包括:
S1:获取容器编排工具Kubernetes集群的资源指标数据,所述资源指标数据包括:历史资源指标数据和当前资源指标数据;
集群的历史资源指标数据输入,采用WordCount数据集进行测试,通过Kafka实现数据发送,由Kafka不规律的发送10MB/s数据、20MB/s、40MB/s的WordCount数据,Kubernets集群历史资源指标数据由第三方监控软件提供。
设置Kafka发送数据的频次总时间为30分钟,每5分钟变化一次,数据发送变化采用匀速增加,匀速减少的次序。
如下所示,Kafka发送数据的频次总时间为30分钟,每5分钟变化一次,数据发送变化采用匀速增加,匀速减少的次序。
Figure 190339DEST_PATH_IMAGE021
S2:对所述资源指标数据进行清洗,得到清洗后资源指标数据,清洗后资源指标数据包括:清洗后历史资源指标数据和清洗后当前资源指标数据;
对第三方监控软件提供的资源指标数据进行清洗,进行空值填充,得到初始的输入数据。
历史资源指标数据初始格式如下:
Figure 445871DEST_PATH_IMAGE022
其中,时刻表示获得集群资源的时间;
Figure 898849DEST_PATH_IMAGE023
表示当前时刻集群具体的连接数;
Figure 884123DEST_PATH_IMAGE024
表示当前时刻的磁盘读写率;
Figure 630099DEST_PATH_IMAGE025
表示当前时刻网络延迟情况;
Figure 372927DEST_PATH_IMAGE026
表示当前时刻cpu利用率百分比;
Figure 426334DEST_PATH_IMAGE027
表示当前时刻可用的容器调度单元Pod数量。
Kafka输入数据得到历史资源指标资源情况如下:
Figure 203797DEST_PATH_IMAGE028
S3:构建Softmax分类模型,用于预测未来资源需求情况,所述未来资源需求情况包括:稳定、增加、减少、资源过剩和资源瓶颈;
S4:将清洗后当前资源指标数据输入Softmax分类模型,得到未来资源需求情况;
将历史资源指标数据输入到Softmax模型中,在Softmax模型中会对不同的资源情况给予不同的权重;资源快速增加的权重大于资源稳定的权重;将获得到的历史资源数据输入到模型中训练,完成训练后,输入最新的资源数据信息,能够给出未来Kubernetes资源使用情况,稳定、增加、减少、资源过剩和资源瓶颈。
收集到Kubernets集群6台PC和5台板卡的历史资源情况,周期为4分钟:通过Softmax模型得出如下预测结果的准确率和召回率:
Figure 622140DEST_PATH_IMAGE029
Precision、Recall都测试了稳定、增加、减少、资源过剩和资源瓶颈多种情况的指标值。
S5:构建集群弹性扩缩容指标计算公式,计算集群弹性扩缩容指标;
通过前面第三方监控软件输出的最新监控数据,构建集群弹性扩缩容指标Ela。
Figure 180161DEST_PATH_IMAGE018
其中
Figure 210827DEST_PATH_IMAGE013
Figure 108376DEST_PATH_IMAGE014
Figure 759937DEST_PATH_IMAGE015
Figure 477357DEST_PATH_IMAGE030
表示最新监控软件提供的集群连接数,磁盘读写,网络延迟,CPU利用率。如果Kuberntes的容器调度单元Pod数量
Figure 872566DEST_PATH_IMAGE005
小于0,则代表当前没有可用的容器调度单元Pod,无法进行扩充;只有存在可用的容器调度单元Pod才能进行扩容。
Figure 624622DEST_PATH_IMAGE020
参数是根据不同集群重要性进行调整,本次实验取值为
Figure 883303DEST_PATH_IMAGE031
S6:结合未来资源需求情况、集群弹性扩缩容指标和集群资源状态,得到Kubernetes Pod的弹性扩缩容策略,所述集群资源状态包括:资源受限和资源充足。
结合自定义弹性缩容指标和SoftMax模型预测得出的结果,对Kubernetes Pod 进行弹性扩缩容,输入最新的监控数据到SoftMax模型中:
如图2、图3所示,图2与图3在两图中“连接处”连接,共同构成Kubernetes Pod的弹性扩缩容策略结构图;当未来资源需求情况为稳定、集群资源状态为资源充足、集群弹性扩缩容指标 Ela>0.6且CPU利用率δ>0.6时,对容器调度单元Pod进行扩容,若集群弹性扩缩容指标Ela <0.3且CPU利用率δ<0.3时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为增加、集群资源状态为资源充足、集群弹性扩缩容指标Ela>0.5且CPU利用率δ>0.5时,对容器调度单元Pod进行扩容,其他情况则保持不变;
当未来资源需求情况为减少,不考虑集群资源状态,集群弹性扩缩容指标Ela <0.5且CPU利用率δ<0.5时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为资源过剩,不考虑集群资源状态,对容器调度单元Pod进行缩容;
当未来资源需求情况为资源瓶颈、集群资源状态为资源充足,对容器调度单元Pod进行扩容,其他情况则保持不变。
进一步地,
所述对容器调度单元Pod进行缩容,指在一个预测周期内减少一个Pod单位;
所述对容器调度单元Pod进行扩容,指在一个预测周期内增加一个Pod单位。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述包括:
S1:获取容器编排工具Kubernetes集群的资源指标数据,所述资源指标数据包括:历史资源指标数据和当前资源指标数据;
S2:对所述资源指标数据进行清洗,得到清洗后资源指标数据,清洗后资源指标数据包括:清洗后历史资源指标数据和清洗后当前资源指标数据;
S3:构建Softmax分类模型,用于预测未来资源需求情况,所述未来资源需求情况包括:稳定、增加、减少、资源过剩和资源瓶颈;
S4:将清洗后当前资源指标数据输入Softmax分类模型,得到未来资源需求情况;
S5:构建集群弹性扩缩容指标计算公式,计算集群弹性扩缩容指标;
S6:结合所述未来资源需求情况、集群弹性扩缩容指标和集群资源状态,得到Kubernetes Pod的弹性扩缩容策略,所述集群资源状态包括:资源受限和资源充足。
2.如权利要求1所述的资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述S1,包括:
所述历史资源指标数据,包括:集群连接数、磁盘读写情况、CPU利用率、网络延迟情况、可用的容器调度单元Pod数量、前五次非稳定结果发生时间;
所述当前资源指标数据,包括:集群连接数、磁盘读写情况、CPU利用率、网络延迟情况,可用的容器调度单元Pod数量、历史最近一次非稳定结果发生时间。
3.如权利要求1所述的资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述S2,包括:
所述清洗,是指对资源指标数据进行空值填充,对空值填充后的资源指标数据按照时间段进行分组聚合;最后对分组聚合后的一个时间段内的指标数据进行时间序列化和归一化后得到清洗后资源指标数据;
所述一个时间段,时长优选为5分钟。
4.如权利要求1所述的资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述S3,包括:
所述构建Softmax分类模型,是将所述清洗后历史资源指标数据分为训练集和测试集,分别对所述Softmax分类模型进行训练和预测;
所述Softmax分类模型,分类标签包括:稳定、增加、减少、资源过剩和资源瓶颈。
5.如权利要求1所述的资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,
所述Softmax分类模型的具体计算公式为:
Figure 953726DEST_PATH_IMAGE001
其中,
Figure 152627DEST_PATH_IMAGE002
为第i个清洗后历史资源指标数据的预测函数,
Figure 759188DEST_PATH_IMAGE003
为输入资源特征,
Figure 188770DEST_PATH_IMAGE004
为类标签,
Figure 943100DEST_PATH_IMAGE005
是模型参数的行向量矩阵,对每个清洗后历史资源指标数据,估计其所属类别概率
Figure 883374DEST_PATH_IMAGE006
Figure 344442DEST_PATH_IMAGE007
为特征
Figure 508707DEST_PATH_IMAGE003
的分类权重,
Figure 688016DEST_PATH_IMAGE008
是对概率分布进行归一化,使
Figure 228719DEST_PATH_IMAGE009
属于每个类别概率之和为1,k为类别的整数个数;
所述Softmax分类模型的损失函数为:
Figure 45758DEST_PATH_IMAGE010
其中,m代表样本数,k代表类别数,c表示包含c类的实例的分类任务,
Figure 584187DEST_PATH_IMAGE011
表示类别权重,
Figure 47530DEST_PATH_IMAGE012
是样本特征和类别权重、尺度因子、边距因子的点积。
6.如权利要求1所述的资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述S5,包括:
所述计算集群弹性扩缩容指标Ela,包括:集群连接数
Figure 329606DEST_PATH_IMAGE013
、磁盘读写情况
Figure 499688DEST_PATH_IMAGE014
、网络延迟情况
Figure 271335DEST_PATH_IMAGE015
、CPU利用率
Figure 658191DEST_PATH_IMAGE016
、可用的容器调度单元Pod数量
Figure 540697DEST_PATH_IMAGE017
,所述计算公式为:
Figure 830864DEST_PATH_IMAGE018
其中,Ela指集群弹性扩缩容指标,其中
Figure 773412DEST_PATH_IMAGE019
,Ela的取值范围为[0,1],其中,
Figure 149030DEST_PATH_IMAGE020
参数可以根据不同集群重要性进行调整。
7.如权利要求1所述的一种资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,所述S6,包括:
所述弹性扩缩容策略,包括:
当未来资源需求情况为稳定、集群资源状态为资源充足、集群弹性扩缩容指标Ela>0.6且CPU利用率δ>0.6时,对容器调度单元Pod进行扩容,若集群弹性扩缩容指标Ela <0.3且CPU利用率δ<0.3时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为增加、集群资源状态为资源充足、集群弹性扩缩容指标Ela >0.5且CPU利用率δ>0.5时,对容器调度单元Pod进行扩容,其他情况则保持不变;
当未来资源需求情况为减少,不考虑集群资源状态,集群弹性扩缩容指标Ela <0.5且CPU利用率δ<0.5时,对容器调度单元Pod进行缩容,其他情况则保持不变;
当未来资源需求情况为资源过剩,不考虑集群资源状态,对容器调度单元Pod进行缩容;
当未来资源需求情况为资源瓶颈、集群资源状态为资源充足,对容器调度单元Pod进行扩容,其他情况则保持不变。
8.如权利要求7所述的资源受限状态下的Kubernetes Pod弹性扩缩容方法,其特征在于,
所述对容器调度单元Pod进行缩容,指在一个预测周期内减少一个Pod单位;
所述对容器调度单元Pod进行扩容,指在一个预测周期内增加一个Pod单位。
CN202211367716.6A 2022-11-03 2022-11-03 资源受限状态下的Kubernetes Pod弹性扩缩容方法 Pending CN115469974A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211367716.6A CN115469974A (zh) 2022-11-03 2022-11-03 资源受限状态下的Kubernetes Pod弹性扩缩容方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211367716.6A CN115469974A (zh) 2022-11-03 2022-11-03 资源受限状态下的Kubernetes Pod弹性扩缩容方法

Publications (1)

Publication Number Publication Date
CN115469974A true CN115469974A (zh) 2022-12-13

Family

ID=84338272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211367716.6A Pending CN115469974A (zh) 2022-11-03 2022-11-03 资源受限状态下的Kubernetes Pod弹性扩缩容方法

Country Status (1)

Country Link
CN (1) CN115469974A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610534A (zh) * 2023-07-18 2023-08-18 贵州海誉科技股份有限公司 一种基于Kubernetes集群资源的改进预测性弹性伸缩方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610534A (zh) * 2023-07-18 2023-08-18 贵州海誉科技股份有限公司 一种基于Kubernetes集群资源的改进预测性弹性伸缩方法
CN116610534B (zh) * 2023-07-18 2023-10-03 贵州海誉科技股份有限公司 一种基于Kubernetes集群资源的改进预测性弹性伸缩方法

Similar Documents

Publication Publication Date Title
CN109271015B (zh) 一种降低大规模分布式机器学习系统能耗的方法
CN107942958B (zh) 一种面向物联网的工业控制系统及方法
CN112561119B (zh) 一种使用arima-rnn组合模型的云服务器资源性能预测方法
CN101149780B (zh) 对无线射频识别服务系统进行自动化测量的系统与方法
CN115408136B (zh) 一种基于遗传算法的rpa流程调度方法
CN115469974A (zh) 资源受限状态下的Kubernetes Pod弹性扩缩容方法
CN113815481B (zh) 电池包选择方法、装置、电子设备及存储介质
CN116244159B (zh) 一种训练时长预测方法、装置、多元异构计算设备及介质
CN115221795A (zh) 容量预测模型的训练方法、预测方法、装置、设备及介质
CN110532154A (zh) 应用系统扩容方法、装置和设备
CN115562940A (zh) 负载能耗监控方法、装置、介质及电子设备
CN115373836A (zh) 计算网络、算力度量方法、调度装置及相关产品
CN112327194A (zh) 一种锂电池容量跳水识别方法及装置
CN113886454A (zh) 一种基于lstm-rbf的云资源预测方法
CN111614504A (zh) 基于时间序列和故障树分析的电网调控数据中心业务特性故障定位方法及系统
CN103581048B (zh) 一种电力通信网络的分布式资源过载控制方法
CN112860531B (zh) 基于深度异构图神经网络的区块链广泛共识性能评测方法
CN114490405A (zh) 资源需求量确定方法、装置、设备及存储介质
CN103873388A (zh) 一种网络内容控制方法和网络设备
CN113139242A (zh) 动车组压力变换阀性能的在线评估方法及装置
CN114683908A (zh) 换电站的换电能力评估方法、系统、电子设备和介质
CN117785481B (zh) 一种数据中心计算资源分配管理系统
CN106708238A (zh) 一种针对存在大量迭代的高性能计算应用的能耗管理方法
CN114745282B (zh) 资源配置模型预测方法、装置及电子设备
CN117939572B (zh) 电力物联网终端接入方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination