文档首页> > 产品介绍> 基本概念

基本概念

分享
更新时间: 2019-04-10 17:31

区域(Region)

从地理位置和网络时延维度划分,同一个Region内共享对象存储、VPC网络、弹性IP、镜像等公共服务。

我国地域面积广大,由于带宽的原因,华为云在中国不同地区建设了数据中心。根据地理区域的不同将全国划分成不同的区域。选择区域时通常根据就近原则进行选择,例如您或者您的客户在北京,那么您可以选择华北服务区,这样可以减少访问服务的网络时延,提高访问速度。

可用区(Available Zone,简称:AZ)

一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。

集群(Cluster)

集群指容器运行所需要的云资源组合,关联了若干台服务器节点、虚拟私有云等云资源。您可以理解为集群是“同一个子网中一个或多个弹性云服务器(又称:节点)”通过相关技术组合而成的计算机群体,为容器运行提供了计算资源池。

集群、虚拟私有云和节点的关系

图1,同一个Region下可以有多个虚拟私有云(VPC)。虚拟私有云由一个个子网组成,子网与子网之间的网络交互通过子网网关完成,而集群就是建立在某个子网中。因此,存在以下三种场景:
  • 不同集群可以创建在不同的虚拟私有云中。
  • 不同集群可以创建在同一个子网中。
  • 不同集群可以创建在不同的子网中。
图1 集群、VPC和节点的关系

节点(Node)

每一个节点对应一台服务器(可以是虚拟机实例或者物理服务器),该服务器已经安装了 Docker Engine,可以用于部署、运行和管理容器;容器服务的 Agent 程序会安装到节点上并注册到一个集群上。集群中的节点数量可以伸缩。

实例(Pod)

Pod是 Kubernetes 部署应用或服务的最小的基本单位。一个Pod 封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP 以及管理控制容器运行方式的策略选项。

图2 实例(Pod)

工作负载

工作负载即Kubernetes对一组Pod的抽象模型,用于描述业务的运行载体,包括Deployment、Statefulset、Job、Deamonset等。

  • 无状态工作负载(即kubernetes中的“Deployments”):Pod之间完全独立、功能相同,具有弹性伸缩、滚动升级等特性。如:nginx、wordpress。
  • 有状态工作负载(即kubernetes中的“StatefulSets”):Pod之间不完全独立,具有稳定的持久化存储和网络标示,以及有序的部署、收缩和删除等特性。如:mysql-HA、etcd。
  • 普通任务(即kubernetes中的“Job”):一次性运行的短任务,部署完成后即可执行。
  • 定时任务(即kubernetes中的“CronJob”):按照指定时间周期运行的短任务。例如在某个固定时间点,为所有运行中的节点做时间同步。
图3 工作负载与Pod的关系

容器(Container)

一个通过 Docker 镜像创建的运行实例,一个节点可运行多个容器。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。

镜像(Image)

Docker镜像是一个模板,是容器应用打包的标准格式,在部署容器化应用时可以指定镜像,镜像可以来自于 Docker Hub,华为云容器镜像服务,或者用户的私有 Registry。例如一个Docker镜像可以包含一个完整的Ubuntu操作系统环境,里面仅安装了用户需要的应用程序及其依赖文件。Docker镜像用于创建Docker容器。Docker本身提供了一个简单的机制来创建新的镜像或者更新已有镜像,您也可以下载其他人已经创建好的镜像来使用。

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

命名空间(Namespace)

命名空间是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间,不同命名空间中的数据彼此隔离。使得它们既可以共享同一个集群的服务,也能够互不干扰。

例如:可以将开发环境、测试环境的业务分别放在不同的命名空间。

亲和性与反亲和

在应用没有容器化之前,原先一个虚机上会装多个组件,进程间会有通信。但在做容器化拆分的时候,往往直接按进程拆分容器,比如业务进程一个容器,监控日志处理或者本地数据放在另一个容器,并且有独立的生命周期。这时如果他们分布在网络中两个较远的点,请求经过多次转发,性能会很差。

  • 亲和性:可以实现就近部署,增强网络能力实现通信上的就近路由,减少网络的损耗。如:应用A与应用B两个应用频繁交互,所以有必要利用亲和性让两个应用的尽可能的靠近,甚至在一个节点上,以减少因网络通信而带来的性能损耗。
  • 反亲和性:主要是出于高可靠性考虑,尽量分散实例,某个节点故障的时候,对应用的影响只是 N 分之一或者只是一个实例。如:当应用采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个节点上,以提高HA。

应用服务网格(Istio)

Istio是一个提供连接、保护、控制以及观测功能的开放平台。

云容器引擎深度集成了Istio服务网格,在华为云中称为“应用服务网格”

Istio服务网格提供非侵入式的微服务治理解决方案,支持完整的生命周期管理和流量治理能力,兼容Kubernetes和Istio生态。一键开启应用服务网格后即可提供非侵入的智能流量治理解决方案,其功能包括负载均衡、熔端、限流等多种治理能力。应用服务网格内置金丝雀、蓝绿等多种灰度发布流程,提供一站式自动化的发布管理。基于无侵入的监控数据采集,深度整合华为云应用性能管理(APM)能力,提供实时流量拓扑、调用链等服务性能监控和运行诊断,构建全景的服务运行视图。

如果您喜欢这篇文档,您还可以:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区