Kubernetes 学习笔记1

kubernetes 高效的资源利用率

K8s可以根据container 自己设定的资源需求和需要的资源下限,将container分配给有空闲资源的node,从而达到了
资源的高效利用
 
  • 管理主机资源
          当定义一个pod时,你可以人为设定pod里面的每个container的所需要的cpu和内存(RAM)大小,分别对应单位cores和mi,然后调度器会决定哪个node可以承载这些pod
  • 资源请求和pod和容器的下限
          假如pod中的container没有设定需要的资源参数,那么集群会默认container有一个default的设定,这个设定是以集群自己设定的为准
  • 如何调度带有资源设定的pod
            当pod被创建,k8s sheduler  会选择一个node给pod运行。每个node有一个最大的cpu和ram的最大值,这些参数会提供给pods。sheduler需要确定,这些运行在某节点的容器的需要的资源总和不能比节点的最大承受能力大。尽管有的节点某些时候的利用率低,但是仍然不能把pod放在上面运行,因为这些节点可能会在每天的某个时候有个资源利用高峰,这样可以避免pod可能遇到的资源利用短缺导致pod被kill
  • 监控主机资源使用情况
           pod的资源使用情况会作为pod状态的一部分
           问题解决方案
           pod一直显示pending状态,而且未被调度,解决方案有:

           1.为集群增加节点

           2.终止一些pod,为pending的pod疼出空间

           3.检查一下这些pod需要的资源是不是比所有的节点多要大
 
posted @ 2017-03-01 17:05  leidaxia  阅读(284)  评论(0)    收藏  举报