k8s学习-资源管理

在云计算领域,资源可被分为计算资源、网络资源、存储资源三大类,也可被分别称做为计算云、网络云、存储云。在以容器为核心的云平台上,应用容器镜像也是一种资源。数据库

   1、计算资源管理后端

  计算资源在云平台上主要指应用程序运行时所需的资源,也主要指CPU资源和内存资源。因为云平台默认的基本要求是为多个租户提供服务,因此在同一台工做节点的服务器(物理机或虚拟机)上就有可能同时运行多个租户的应用容器、这些应用容器如何共享该节点上的CPU和内存资源,以及如何避免没必要要的资源争抢,是云平台首先要解决的问题。安全

      在k8s体系中,对资源资源的管理能够在Namespace、Pod、Container三个级别完成,同时能够根据应用计算资源的需求和限制,提供不一样级别的服务质量管理。服务器

    1. 在一个大型企业中,将企业各数据中心的服务器所有归入一个K8s集群中管理确定是不切实际的。网络

        须要容灾备份的数据中心提供服务,保证业务的高可用性。优化

        多个数据中心分布在不一样的地区,数据中心之间的网络延迟较长。云计算

        服务器由不一样的云服务商托管,相互之间没法直接互联互通。spa

        多个数据中心的安全策略和安全等级不一样。设计

       基于以上因素,咱们一般须要部署多个k8s集群,来共同完成应用的发布和运行。对象

      在容器云平台上,对资源的管理首先是将多个k8s集群归入管理,以便可以对全部资源进行统一分配和管理。

      将多个k8s集群归入统一管理的常见方案有以下两种。

     1)经过对接每一个k8s集群的Master,来完成集群内的资源管理和应用部署管理。

          容器云平台经过k8s master 提供的Restful API 去控制整个集群,包括对各类k8s集群 资源对象的建立、更新、删除、查询等管理功能。还须要完成应用的多集群部署管理、

         跨集群的服务发现和自动灾难切换等多集群管理,并设置相应的网络策略,以保护各集群的Master不被攻击。

     2)经过使用统一的 Federation控制平面来对多个k8s集群进行统一管理。

         Federation来自k8s子项目,也被称做集群联邦。Federation的设计目标是对多个k8s集群进行统一管理,将用户的应用部署到不一样地域的数据中心或者云环境下,经过动态优化

        部署来节约运行成本,屏蔽了后端的各k8s子集群,向客户提供一个统一的管理入口。

        Federation 控制平面 “封装” 了多个k8s集群的master角色,提供了一个统一的Master ,包括Federation API Server 、Federation Controller Manager,用户能够像操做单个集群

        同样操做 Federation;还统一管理了所有k8s集群的DNS、ConfigMap,并将数据保存在etcd数据库中。

     在方便用户统一操做多个K8s集群的同事,Federation也带来了一些新问题

      为确保全部集群的运行状态符合预期,Federation控制平面会持续监控全部集群,致使网络开销和成本显著增长。

      Federation 控制平台是 “中心化” 的总控节点,一旦出现问题,就可能会影响到全部集群。

      Federation 出现较晚,还很不成熟,目前k8s中资源对象只有一部分在Federation中是可用的。

 

 

 2、 资源分区管理

      在容器云平台纳管了所有k8s集群以后,平台管理员就能够进行资源分配的工做了,为多个租户提供应用部署环境。

      在一个k8s集群中,提供计算资源的实体被称为Node,也叫工做节点。Node既能够是物理服务器,也能够是虚拟服务器。每一个Node都提供了CPU、内存、网络、磁盘等资源,

      应用系统则是这些资源的使用者。

      为支持多租户模型,k8s的Namespace提供了一种将一个集群进一步划分为多个虚拟分区进行管理的方法。每一个Namespace为某个租户提供的一个逻辑上的分区,与其余租户的

      应用相互隔离、互补干扰。与互联网的域名相似 

相关文章
相关标签/搜索