<small id='oju2RkIA'></small> <noframes id='BvpU'>

  • <tfoot id='G4LK'></tfoot>

      <legend id='03jr1MIFVh'><style id='uT5C'><dir id='UJzcCD6F5'><q id='GFsEjvS'></q></dir></style></legend>
      <i id='kxfurC7In'><tr id='8E43Cx'><dt id='09iBa'><q id='PStGOTrAF'><span id='tui2w'><b id='PbMwXV61Q'><form id='NtRVk'><ins id='CAfU6'></ins><ul id='XE5Qcm01'></ul><sub id='BV5y'></sub></form><legend id='Pe2ZoWEa'></legend><bdo id='iBp7l1hF'><pre id='z2F0L'><center id='VlC1cde'></center></pre></bdo></b><th id='dn8z'></th></span></q></dt></tr></i><div id='Ssv3'><tfoot id='NaSFB2Z'></tfoot><dl id='Whw1m'><fieldset id='SdZL5'></fieldset></dl></div>

          <bdo id='kWeT'></bdo><ul id='YIwpOKU'></ul>

          1. <li id='dm8V4pq5M0'></li>
            登陆

            Kubernetes作业节点的数量规划?

            admin 2019-11-20 290人围观 ,发现0个评论

            概述

            做k8s集群作业节点的规划时,首要需求考虑的问题是: 应该运用哪种类型的服务器(Linux)实例节点,节点数量又需求多少个?

            集群容量

            一般k8s集群可以看作将多个服务器(Linux)节点笼统为一个大的”超级服务器节点”,该超级节点的总核算才干(如CPU和内存)是一切组成节点的才干之和.假设要在群集上运转的一组应用程序需求,需求一个总容量为8个CPU内核和32 GB 内存的集群,或许的两种实例类型及数量装备如下图:

            计划一: 运用2台4核16GB服务器实例作为k8s作业节点

            计划二: 运用4台2核8GB服务器实例作为k8s作业节点

            哪种计划更好呢? 我信任大多数人此刻有点懵逼了吧,为处理我们的这个疑问下面我分别对这两种计划的利害。

            计划一

            运用2台4核16GB服务器实例作为k8s作业节点的状况

            优势

            1.削减办理开支

            与有必要办理很多核算机比较,办理少数核算机较省力

            2. 下降每个节点的本钱

            尽Kubernetes作业节点的数量规划?管功用更强壮的机器比低端机器更贵重,但价格上涨并不一定是线性的;如一台具有10个CPU内核和10 GB RAM的核算机或许比10台具有1个CPU内核和1 GB RAM的核算机廉价

            3.答应运转需求很多资源的应用程序

            假如您有一个需求8 G秋天的诗句B内存的机器学习应用程序,则不能在只要1 GB内存的节点的群集上运转它;可是您可以在具有10 GB内存节点的群集上运转它

            下风

            1.每个节点有很多Pod

            每个Pod都会在该节点上运转的Kubernetes代理上引进一些开支,例如容器运转时(例如Docker),kubelet和cAdvisor。

            kubelet对节点上的每个容器履行惯例的活动性和安排妥当性勘探-更多的容器意味着kubelet在每次迭代中需求进行更多的作业。

            cAdvisor会搜集节点上一切容器的资源运用状况计算信息,而kubelet会定时查询此信息,并将其揭露在其API上-相同,这意味着cAdvisor和kubelet在每次迭代中都需求做更多的作业。

            假如Pod的数量变大,这些作业或许会开端减慢体系速度,乃至使体系不可靠。

            2.有限仿制

            少数节点或许会约束应用程序的有用仿制程度,假如您有一个由5个副本组成的高可用性应用程序,可是只要2个节点,则该应用程序的有用仿制程度将下降为2。

            3.爆破半径更大

            假如您只要几个节点,那么发作毛病的节点的影响会比具有Kubernetes作业节点的数量规划?多个节点的影响大。

            4.大缩放份额

            Kubernetes 为云根底架构供给了一个集群主动伸缩器,可根据当时需求主动Kubernetes作业节点的数量规划?增加或删去节点。

            计划二

            运用4台2核8GB服务器实例作为k8s作业节点的状况;这种办法包括由许多小节点而不是几个大节点组成集群。

            这种办法的优缺陷是什么?

            运用许多小节点的长处首要对应于运用少数大节点的缺陷。

            优势

            1.爆破半径减小

            假如您有100个Pod和10个节点,则每个节点均匀仅包括10个Pod。因而,假如其间一个节点发作毛病,则影响的pod数量较少。

            很有或许只要您的某些应用程序遭到影响,而且或许只要少数的副本遭到影响,因而整个应用程序都不会遭到影响。

            2.答应高仿制,完成高可靠性

            Kubernetes调度程序可以将每个副本分配给更多不同的节点,这意味着,假如一个节点发作毛病,最多将影响一个副本,而且您的应用程序依然可用。

            下风

            1.很多节点

            运用较小的节点,则天然需求更多的节点才干到达给定的群集容量,关于Kubernetes操控平面而言,很多节点或许是一个应战。

            如每个节点都需求可以与其他每个节点进行通讯,这使得或许的通讯途径的数量与节点数量的平方成正比增加,一切这些都有必要由操控平面进行办理。

            2.更多的体系开支

            Kubernetes在每个作业程序节点上运转一组体系看护进程,如容器运转时Docker、kube-prKubernetes作业节点的数量规划?oxy、kubelet等,这些看护程序一同耗费固定数量的资源,假如运用许多小节点,则这些体系组件运用的资源部分会更大。

            3.下降资源利用率

            假如运用较小的节点,那么终究或许会Kubernetes作业节点的数量规划?遇到很多资源片段,这些资源片段太小而无法分配给任何作业负载,因而导致资源糟蹋。

            4.小节点上的Pod约束

            在某些云根底架构上,小节点上答应的最大Pod数量比您预期的遭到更多约束,如Amazon Elastic Kubernetes服务(EKS)便是这种状况,其间每个节点的Pod的最大数量取决于实例类型。

            定论

            因而您应该在集群中运用几个大型节点仍是多个小型节点?与平常相同,一般没有确认的答案!

            假如您的应用程序需求10 GB的内存,则您或许不应该运用小型节点-群会集的节点应至少具有10 GB的内存;

            假如您的应用程序Kubernetes作业节点的数量规划?需求10倍的仿制才干完成高可用性,那么您或许不应该仅运用2个节点-您的集群至少应包括10个节点

            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP