Page 23 - 网络电信2019年6月刊上
P. 23

本文根据Pod  p的CPU、内存、带宽、磁盘四类资源全                     越适合部署该Pod。权重集合的选择顺序如图3所示,优先级
            局占用率计算Pod  p的专用权重,全局占用率是指Pod  p某项                    评分函数为候选Node闲置率与权重集合的加权求和。Pod  p
            资源的占用额度占集群中该资源总额的比重,衡量了Pod  p                        为待部署的  Pod,priority(p,i)表示Node  i的优先级评分,
            对该资源的需求。通过监控代理可以采集到Node  i各类资源                       nodeFree(i,r)表示Node  i资源r的闲置率,是Node  i剩余的
            总量,Node  i上容器的本地资源占用率。为了计算Pod  p资                    资源r与Node  i资源r总量的比值。以Pod  p有专用权重为例,
            源r的全局占用率,需要首先计算Node  i的资源r的全局份额                      priority(p,i)的计算方法为:
            nodeGlobalShare(i,  r),计算方法如公式(1)所示,将                    priority(p,i)=∑ r∈R nodeFree(i,r)*weightPod(p,r)(6)
            nodeGlobalShare(i,  r)  与容器d的资源r的本地占用率相乘即                (6)举例
            可得到容器d资源r的全局占用率containerLocalRU(i,d,r),                  集群内有2个Node,资源总量情况如表2所示,根据公式
            计算方法如公式(2)所示。Pod p由多个容器组成,将Pod p中                    (1)计算得到4种资源的全局份额。
            的所有容器资源r的全局占用率求和即可得到Pod  p资源r的全局                      表 2 集群资源
            占用率,如公式(3)所示。
                1)计算Node i的各类资源全局份额
                设Node  i上资源r的总量为nodeTotal(i,r),则集群资
            源r总量clusterTotal(r)  =  ∑ i∈n nodeTotal(i,r)。Node  i
            上资源r的全局份额nodeGlobalShare(i,r)=nodeTotal(i,r)/
            clusterTotal(r)                (1)
                2)计算容器d的各类资源全局占用率
                containerLocalRU(i,d,r)表示部署在Node  i的容器d,
            资源r的占用率。那么容器d资源r的全局资源占用率为:
                containerGlobalRU(i,d,r)  =containerLocalRU(i,d,r)   Pod  p有1个副本,Pod  p部署在Node1,即容器1,Pod  P
            *nodeGlobalShare(i,r)          (2)                   的副本部署在Node2上,即容器2。通过测量得到资源利用率
                3)计算Pod p的各类资源全局占用率                              containerLocalRU,如表3所示,根据公式(2),可以得到2个
                Pod  p由j个容器组成,podGlobalRU(p,r)表示Pod  p资源r        容器4种资源的全局资源占用率。
            的全局占用率。                                               表 3 容器资源占用
                podGlobalRU(p,r)=∑ d∈P containerGlobalRU(i,d,r)
                                           (3)
                (3)Pod p专用权重计算方法
                weightPod(p)={w(p,1),  w(p,2),…,w(p,m)}表示Pod  p
            专用权重集合。weightPod满足∑ r∈R w(p,r)=1。  其中w(p,r)
            是在计算候选Node优先级时资源r的权重,如公式4所示,通过
            计算Pod  p的资源r的全局占用率与该Pod中所有资源全局占用
            率之和的比值得到w(p,r)。例如Pod  p的专用权重集合为{1%,
            2%,3%,0.01%},表示该Pod每消耗集群1%的CPU,将伴随消耗2%
            的内存,3%的带宽,0.01%的磁盘,那么在对候选节点计算优先
            级评分时,内存的优先级应是CPU的2倍,通过公式4,即可计算                           根据公式(4),Pod p的CPU权重值w(p,cpu)=            ,
            得到归一化权重。                                             =0.30,同理可以计算得到内存、带宽、磁盘的权重值,weightP
                w(p,r)=podGlobalRU(p,r)/∑ r'∈R podGlobalRU(p,r')    od(p)={0.30,0.03,0.65,0.02}。
                                             (4)                     经测量Node1、Node2各类资源闲置率如表4所示。此时
                (4)镜像i专用权重计算方法                                   Podp  需要再增加一个副本,根据公式(6),可以得到Node1和
                weightImage(i)={w(i,1),w(i,2),…,w(i,m)}表示镜像i     Node2的优先级评分分别为0.40,0.49。根据优先级评分,Pod
            的专用权重集合,其中  w(i,r)表示镜像i资源r的专用权重。
            如图3所示,当需要创建新的Pod时,数据库中尚未创建该                           表 4 Node 资源空闲
            Pod的专用权重,此时,参考该Pod使用的镜像i的专用权重。
            weightImage(i)为所有使用该镜像的pod权重平均值,h为使用
            镜像i的Pod总数。
                w(i,r)=∑ p∈I w(p,r)/h          (5)
                (5)优先级评分函数
                创建Pod时,通过优先级评分函数选择剩余资源分布最
            优的Node进行部署,优先级越高,表示该候选节点资源分布

                                                       网络电信 二零二零年六月                                            41
   18   19   20   21   22   23   24   25   26   27   28