服务介绍

什么是云容器引擎

云容器引擎服务提供了云上高可用、可扩展的Kubernetes集群的搭建,整合了计算(云主机、裸金属)、网络(VPC、经典网络)、存储(云硬盘)等服务,并通过计算可用域实现容器集群的资源独享和严格的多租户隔离功能。通过云容器引擎服务您可以一键式创建Kubernetes容器集群,无需自行搭建DockerKubernetes集群,配合故障恢复、自动扩容等能力,使得应用的整个生命周期都可以在云容器引擎内高效完成,简化了用户对集群的管理和对应用的运维。

功能

云容器引擎服务主要由三部分功能组成:集群、镜像仓库和工作负载。

集群

集群(Cluster)是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用。集群中各节点区分为控制节点和工作节点两种,控制节点是Cluster的大脑,它的主要职责是调度,即决定将应用调度在哪里运行。工作节点的职责是运行容器应用(Docker)。工作节点由控制节点管理,工作节点负责监控并汇报器应用的状态,同时根据控制节点的要求管理容器应用的生命周期。工作节点可以实现高可用,所有容器应用都会在各上工作节点部署一个副本。

图-1 集群架构图

 

镜像仓库

镜像仓库提供用于存储、管理容器镜像的场所,在镜像仓库中可以轻松地存储、使用、管理镜像,犹如App Store一样,将企业应用使用的镜像统一管理起来。

上传镜像时需选择存放的仓库类型,包括公有仓库和私有仓库。公有仓库用于存放和管理正式发布版本的镜像,由系统管理员管理,系统所有成员均可使用,便于对企业发布级的应用进行管理,降低了各个组织部门的沟通成本。私有仓库用于存放和管理开发版本或内部版本的镜像,组织内成员可以上传自己的镜像并自己进行使用与管理。私有仓库中的镜像可以发布至公有仓库。另外还可以在仓库中创建镜像分类,以便灵活分类存储镜像。

用户可在镜像仓库中选择镜像的某个版本下发至某个集群的某个节点,若需要在系统外使用镜像时还可以将镜像下载至用户本地。云容器引擎不支持镜像部署,如需部署,请在系统中安装“PaaS”组件包,通过应用管理功能部署。

系统支持对镜像进行版本管理,即可以为一个镜像添加多个版本并上传该版本对应的文件。当上传的镜像与已有镜像同名时,系统可自动识别该镜像已有信息,如所属分类、历史版本信息,并将校验新版本号是否与旧版本号重复。另外还支持对镜像进行扫描、编辑、删除。

工作负载

用于展示与管理Kubernetes集群中的工作负载,支持应用中无状态容器、有状态容器、守护进程集、定时任务、普通任务、容器组的管理维护。旨在为用户提供全面的Kubernetes能力集可视化界面,降低容器管理的技术门槛,提供自动化&一键式管理容器的能力。

工作负载由PodsController组成,PodController都是Kubernetes中的概念。

图-2 工作负载架构图

 

其他集群管理能力

除以上三种功能外,云容器引擎还提供了例如命名空间管理、配置信息管理、Service配置、后端存储配置、自动扩容等功能,全面覆盖Kubernetes集群的日常维护和管理工作,如下图。

图-3 Kubernetes能力集

 

1.      服务Service

ServiceKubernetes中工作负载提供服务的入口,是一个应用访问另一个应用的方式。Service代表一组Pod,由于Pod IP是随机的,且可能会因重启改变,因此不应该直接访问Pod IP。而集群IPService在集群中的具体实现,该IP地址一经创建便不会改变,Kubernetes负责建立和维护ServicePod的映射关系,因此用户只需要访问ServiceIP,无论后端Pod如何变化,对用户都不会有任何影响。

Service提供了三种访问容器服务的方式:

图-4 Service架构图

 

2.      存储

存储卷PV(Persistent Volume)、存储卷声明PVC(Persistent Volume Claim)Kubernetes的存储池管理方案,用于为集群提供存储空间。

3.      配置信息

配置项(ConfigMap)和密钥(Secret)组成了Kubernetes的配置系统,将配置与容器镜像分离,使配置信息不随容器的销毁或重启而消失或改变,容器创建后可直接加载使用,以实现最大化的可移植性;同时,通过统一的配置中心,也可以集中式的对配置信息进行管理维护。

4.      命名空间Namespace

用于实现应用间的逻辑隔离(节点和存储除外),不同命名空间的应用默认不可以互相访问。

5.      自动扩容

CPU、内存的使用率达到设置的阀值时,集群节点会自动进行扩容,共同分担访问压力,直至达到所设置的最大节点数。

与其它应用的关系

表-1 云容器引擎与其它服务的关系

服务

关系

应用管理

在应用管理中创建容器应用时选择的独享集群资源即云容器引擎服务创建的集群。

云容器引擎的工作负载功能中展示的是集群自身容器应用的工作负载;如果部署了“PaaS组件包”,还会展示部署在云容器引擎集群中容器应用的工作负载。

资源-容器

  • 云容器引擎服务中创建的是独享集群,其本质是Kubernetes集群。其资源隔离通过计算可用域以及独享集群所属的云网络实现。独享集群可被所在网络的组织用户使用。

  • 部署“PaaS组件包”后,在本系统的[资源-容器]菜单项下创建或纳管的集群为共享集群,其本质是Openshift集群。其资源隔离通过容器可用域实现,共享集群可被容器可用域所属的组织用户使用。