【技术实现步骤摘要】
一种基于Pod实时流量数据改进的遗传算法Kubernetes调度方法
[0001]专利技术属于云计算
,具体涉及一种基于Pod实时流量数据改进的遗传算法Kubernetes调度方法。
技术介绍
[0002]随着云计算技术的不断发展,传统的Kubernetes调度器不足以支持大规模分布场景下的延迟敏感工作负载的正确调度。
[0003]传统的Kubernetes调度方法只能基于集群节点的静态配置Cpu核数量,内存大小等指标对应用的Pod进行调度。后续人们改进的调度算法将网络带宽指标加进调度得分公式计算,然而单纯的带宽依旧是静态指标,往往会存在节点Pod已经占用大部分网络带宽的情况下,仍然被分配Pod的情况,这都直接导致了热点通讯服务应用响应时间缓慢,用户体验差的问题。在有部署热点通讯服务的集群中,网络速度更应该考虑节点上Pod真实的进出流量的实时带宽占用率。
[0004]在真实的集群使用场景下,如果只考虑网络指标,也往往会造成负载均衡的问题,这是因为Pod清单文件中所申请的节点Cpu和内存资源与真实的节点C ...
【技术保护点】
【技术特征摘要】
1.一种基于实时数据改进的遗传算法的Kubernetes调度方法,其特征在于,包括以下步骤:基于Istio和Prometheus对集群节点的实时Pod进出站流量以及Cpu和内存利用率指标进行捕获;基于Scheduling Framework在kube
‑
schedule中引入遗传算法,设计节点实时综合资源利用率指标和改进遗传算法适应度计算公式,并将迭代终止时的适应度计算作为节点得分计算;其中遗传算法适应度计算公式表示为;节点得分计算公式表示为 ,L(Syn
i
)表示节点实时综合资源利用率,计算公式为;,其中L(Cpu
i
)表示该节点的CPU占用率,计算公式为, 其中CpuPod
ij
表示的是节点node
i
上的应用Pod
j
的CPU使用率,PodNum
i
表示的是节点Node
i
上的总的Pod数量, 表示的是节点Node
i
上总Pod的CPU使用率;L(Mem
i
)表示节点i的内存占用率,公式为,其中MemPod
ij
表示节点node
i
上的Pod
j
的内存使用率,表示的是节点Node
i
上总Pod的内存使用率;L(Tra)表示该节点i的总pod网络占用率,公式为,其中TrainPod
ij
表示的是节点node
i
上的pod
j
的进站流量利用率,计算公式为,Bandw
i
为带宽大小, TrainSecPod
ij
表示节点node
i
的每秒进站流量数据;TraoutPod
ij
表示节点node
i
上pod
j
的出站流量利用率,计算公式为
,其中TraoutSecPod
ij
表示节点node
i
上pod
j
的每秒出站流量数据;对于不同类型的工作节点,利用单节点单项资源除以总节点单项总资源得到占比作为该节点该单项资源权重,对于节点Node
i
的Cpu占用率权重表示为 ,其中CpuCore
i
表示节点node
i
的Cpu核心数,CpuCoun...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。