适用场景和优势¶
适用场景¶
应用的多云部署及跨云容灾¶
多云组合部署
根据不同性价比的云平台组合,结合不同应用场景,进行多云组合,降低总体成本。对于金融等安全性要求高的行业用户,基于业务数据的安全性和敏感性要求,将部分业务应用部署在私有云环境中,而将非敏感性应用部署在云上集群中,并进行统一管理。
跨云容灾备份
为保证业务高可用,同时将业务部署在不同地域的多个云容器平台上,帮助应用实现多地域的流量分发,并且实现跨云应用在同一平台管理,减少运维成本。另外当某个云容器平台发生故障时,通过统一流量分发的机制,自动的将业务流量切换到其他云容器平台上。
跨云集群统一管理¶
跨云集群统一纳管
无论基于不同基础设施环境(公有云,私有云和混合云),或者不同容器云厂商搭建的 Kubernetes 平台,容器管理模块可统一纳管。
降低因不同基础设施、不同云提供商带来的额外管理成本,统一管理流程,降低成本。
跨云集群统一运维
不同的云容器提供商基于不同的 Kubernetes 发行版为客户提供不同云平台监控,实现统一平台监控运维难度大,无法便捷地了解整体运行状况,掌控故障处理进程和结果,基于容器管理模块,可基于集群的统一纳管实现一体化监控服务,实现多维度、跨云的统一监控运维。
弹性扩缩应对流量高峰¶
集群的弹性扩缩容
应对企业客户应对流量高峰,当业务应用部署所在 Kubernetes 容器平台资源已经达到阈值,需要结合底层 IaaS 弹性扩缩容能力,自动弹性扩缩容集群节点,从而应对超大流量的业务高峰,并在业务低谷期进行缩容,节约成本。
应用的弹性扩缩容
电商客户遇到双 11 等促销、限时秒杀等活动中,业务访问量迅速上升,需及时扩容应用计算资源,并根据用户设定的扩缩容策略自动调整,业务容器组数量随业务访问量上升而增加,随业务访问量下降而减少。
优势¶
容器管理模块具有如下优势:
集群的统一管理
- 支持不同集群统一纳管,支持所有特定版本范围内的任意 Kubernetes 集群纳入容器管理范围,实现云上、云下、多云、混合云容器云平台的统一管理,规避厂商锁定。
- 可通过 Web 界面一键式完成 Kubernetes 集群的平滑升级。
- 统一 Web 界面实现集群创建、集群节点的扩缩容等管理能力。
- 支持超大规模集群的统一纳管。
应用生产就绪
- 一站式应用分发,可通过镜像、YAML、Helm 进行应用分发,并实现跨云/跨集群的统一管理。
- 应用高可用,支持应用的分布式部署,支持单点故障流量的自动切换。
- 丰富的监控指标,实现应用的全方位监控,提前预警应用流量高峰,应用故障。
策略的统一下发
- 支持以命名空间或集群粒度制定网络策略、配额策略、资源限制策略、灾备策略、安全策略等策略,并支持以集群/命名空间为粒度进行策略下发。
安全可靠
- 自建集群默认为高可用部署模式,保障您的业务高可用。当节点出现故障、自然灾害时,应用可持续运行,保障生产环境的高可用,实现业务应用系统不中断。
- 跨地域应用高可用,支持跨地域部署不同的容器集群,能够同时将业务部署在不同地域的多个云容器集群上,帮助应用实现多地域的流量分发。 当某个云容器集群发生故障、机房宕机或者自然灾害时,通过统一流量分发的机制,自动将业务流量切换到其他云容器平台上,保障应用的高可用。
- 完善的用户权限体系,整合 Kubernetes RBAC 权限体系,支持为不同用户设置不同粒度权限。
异构兼容
- 提供高度自动化和具备弹性的异构多云支撑能力,适配 x86 以及信创云体系架构。
- 支持 x86、ARM 架构混合集群统一部署,统一管理和支撑应用运行,保障应用间网络互通。
开放兼容
- 基于原生的 Kubernetes 和 Docker 技术,完全兼容 Kubernetes API 和 Kubectl 命令。
- 提供了丰富的插件体系,扩充云容器集群功能,例如网络插件 Multus、Cillum、Contour 等组件。
基本概念¶
容器管理相关的基本概念如下。
概念 | 描述 |
---|---|
集群 (Cluster) | 集群指容器运行所需要的云资源组合,关联了若干云服务器节点。可以创建若干集群或接入若干 Kubernetes 标准集群。 |
节点 (Node) | 每一个节点对应一台虚拟机/物理服务器,所有容器应用运行在集群的节点上。节点类型分为控制器节点(Controller)及工作节点(Worker)。 |
容器组 (Pod) | Pod 是 Kubernetes 部署应用或服务的最小基本单位,可以封装一个或多个应用容器、存储资源、一个独立的网络 IP。 |
容器 (Container) | 容器是通过容器镜像部署的实例,将应用程序从底层的主机设施中解耦,便于在不同的云或 OS 环境中部署。 |
工作负载 (Workload) | 在 Kubernetes 上运行的应用程序,包括无状态服务、状态服务、守护进程服务、普通任务和定时任务等。 |
应用模板 | 标准模板的统一资源管理和调度,支持管理和部署社区标准应用模板及自定义业务应用模板。 |
镜像 (Image) | 容器镜像是一个容器应用打包的标准格式模板,用于创建容器,包含程序、库、资源、配置等文件。 |
命名空间 (Namespace) | 对一组资源和对象的抽象整合,不同命名空间中的数据彼此隔离。 |
服务 (Service) | 将运行在一组 Pod 上的应用程序公开为网络服务的抽象方法,支持 ClusterIP、NodePort 和 LoadBalancer 等类型。 |
七层负载均衡 (Ingress) | 为进入集群的请求提供路由规则的集合,支持 URL、负载均衡、SSL 终止等功能。 |
网络策略 (NetworkPolicy) | 提供基于策略的网络控制,用于隔离应用并减少攻击面。 |
配置项 (ConfigMap) | 保存配置非机密性的数据到键值对中,容器组可以将其用作环境变量、命令行参数或配置文件。 |
密钥 (Secret) | 用于保存机密数据的配置信息,如密码、Token、密钥等。 |
标签 (Label) | 一对 key/value 关联到对象上,用于标示对象的特点。 |
选择器 (LabelSelector) | Kubernetes 核心的分组机制,通过 Label Selector 识别一组有共同特征的资源对象。 |
注解 (Annotation) | 将 Kubernetes 资源对象关联到任意的非标识性元数据,可以通过注解检索这些元数据。 |
存储卷 (PersistentVolume) | 提供方便的持久化卷,PV 提供网络存储资源,PVC 申领存储资源。 |
存储声明 (PersistentVolumeClaim) | 对 PV 的申领请求,类似于 Pod 消费 Node 资源。 |
弹性扩缩 (HPA) | Kubernetes 中实现 Pod 水平自动扩缩的功能。 |
亲和性与反亲和性 | 通过亲和性和反亲和性定义约束类型,实现就近部署和高可靠性。 |
节点亲和性 (NodeAffinity) | 限制容器组被调度到特定的节点上。 |
节点反亲和性 (NodeAntiAffinity) | 限制容器组不被调度到特定的节点上。 |
容器组负载亲和性 (PodAffinity) | 指定工作负载部署在相同节点,减少网络消耗。 |
容器组反亲和性 (PodAntiAffinity) | 指定工作负载部署在不同节点,减少宕机影响。 |
资源配额 (Resource Quota) | 限制用户资源用量的机制。 |
资源限制 (Limit Range) | 给命名空间增加资源限制,包括最小、最大和默认资源。 |
环境变量 | 容器运行环境中设定的变量,提供灵活性。 |