本文对边缘托管中的基本概念进行说明,帮助您更好地了解和使用产品。
术语 | 描述 |
---|
边缘集群 | 边缘集群指在边缘场景下为用户提供的 Kubernetes 集群,是计算、存储和网络资源的集合,通过边缘集群可以实现资源的统一管理及上层业务和流量的编排和调度。 |
节点池 | 节点池是集群中具有相同属性(如地域、架构等)的一组节点的集合。
边缘托管中的节点池,分为如下三种: - 边缘节点池:由具备相同属性的边缘节点资源组成,基于边缘节点池可以实现应用部署、流量管理等。
- 边缘弹性节点池:在边缘弹性节点池下,您可以创建边缘计算节点并手动调整节点数量。开启自动伸缩策略情后,节点资源可以基于集群扩缩容策略实现弹性扩缩容。
- 控制节点池:由中心云基础资源组成,主要用于部署集群依赖的组件。
|
节点 | 对应 Kubernetes 中的 Node。节点主要包括:Master 节点(控制节点)和 Worker 节点(计算节点/工作节点)。应用实际部署在 Worker 节点上。 - Master节点:主要由API Server、ETCD、Controller Manager 和 Scheduler 组成。边缘托管中,Kubernetes 集群的 Master 节点由边缘托管服务集中管理和维护,用户不需要关心。
- API Server:提供各模块之间的数据交互和通信的枢纽。
- ETCD:分布式数据存储组件,负责存储集群的配置信息。
- Controller Manager:通过定义资源期望状态,实现集群资源编排,保证集群中各种资源的实际状态和用户定义的期望状态一致。
- Scheduler:负责应用调度的组件,通过配置节点/Pod 实例亲和性等,将容器调度到 Worker 节点上运行。
- Worker节点:边缘托管中的节点一般指 Worker 节点。主要指边缘节点或中心控制节点,用于运行容器化应用。Worker 节点主要运行以下组件:
- Kubelet:Worker 节点的代理组件,主要负责与 Container Runtime 交互,并与 API Server 协同管理节点上的容器。
- Kube-proxy:网络代理,解决节点上应用间的访问问题。
- Container Runtime:容器运行时,如 Containerd,主要用于拉取容器镜像,管理容器的全生命周期。
- Yurt-Hub:YurtHub 通过本地缓存资源,使得 Pod 以及 Kubelet 在云边网络断连的情况下也能够通过 YurtHub 获取所需资源而保持其正常运行。
|
容器网络 | 对应 Kubernetes 中的 CNI 资源,提供实现容器集群网络方案的技术插件。边缘托管目前仅支持 Flannel 容器网络模型:
Flannel:独立的 Underlay 容器网络模型,配合 VPC 的全局路由能力,实现集群高性能的网络体验。 |
命名空间 | 对应 Kubernetes 中的 Namespace,是对一组资源和对象的抽象,命名空间用于划分集群资源,以实现环境隔离。 |
工作负载 | 对应 Kubernetes 中的 Workload,用于描述业务应用的运行载体。工作负载包括如下几种类型: - 无状态负载:对应 Kubernetes 中的 Deployment。一个无状态负载可以包含一个或多个 Pod 实例,每个 Pod 的角色相同,即除了名称和 IP 地址不同,其余特点完全相同。无状态负载可以通过 Pod 模板随时新建或删除 Pod。
- 有状态负载:对应 Kubernetes 中的 StatefulSet。与 Deployment 类似,包含一个或多个 Pod 实例,但每个 Pod 都有自己单独的状态(固定的名称、启停顺序、独立存储等)。
- 守护进程:对应 Kubernetes 中的 DaemonSet。DaemonSet 确保在集群的每个节点上运行一个 Pod,且只有一个 Pod。DaemonSet 与节点相关,若节点异常,则不会在其他节点上重新创建 Pod。
- 任务:对应 Kubernetes 中的 Job。Job 会创建一个或者多个 Pod,负责处理一次性任务,即任务仅执行一次并确保处理任务的 Pod 成功终止。
- 定时任务:对应 Kubernetes 中的 CronJob。CronJob 用于创建周期性、重复性的任务。
|
标签 | 一个键(key)值(value)对,用于标示对象的特点。容器服务中的标签分为两种: - 用户自定义或系统、平台为各种资源添加的标签(Tag)。
- 对应 Kubernetes 中的 Label。
|
节点亲和调度 | 对应 Kubernetes 中的 NodeAffinity,指通过节点标签控制 Pod 实例部署在特定的节点上。 |
节点污点调度 | 指配合污点和容忍度,用来避免 Pod 被分配到不合适的节点上。 |
实例亲和调度 | 对应 Kubernetes 中的 PodAffinity,将具有相互通信需求的 Pod 实例,部署到同一个拓扑域(TopologyKey),减少 Pod 对应业务之间网络延迟。 |
实例反亲和调度 | 对应 Kubernetes 中的 PodAntiAffinity,将指 Pod 实例分散部署到不同的拓扑域(TopologyKey),提高 Pod 对应业务的稳定性。 |
节点弹性伸缩 | 指通过CA(Cluster Autoscaler,集群弹性伸缩)方式,根据 Pod 的调度状态以及集群内节点资源的使用情况,对集群进行自动扩容或缩容 |
指标伸缩 | 在 Kubernetes 集群中用于 Pod 水平自动伸缩,它基于 CPU 和内存利用率、对 Deployment 和 Replicaset 控制器中的 Pod 数量进行自动扩缩容。 |
污点 | 对应 Kubernetes 中的 Taint,使节点能够排斥指定特点的的 Pod。 |
容忍度 | 对应 Kubernetes 中的 Toleration,应用于 Pod 上,允许(但并不要求)Pod 调度到带有与之匹配污点的节点上。 |
拓扑域 | 对应 Kubernetes 中的 TopologyKey。是一个范围的概念,一般通过节点上的标签指定,比如一个特定的节点、一个地域等。 |
服务 | 对应 Kubernetes 中的 Service,提供基于四层网络的容器服务暴露能力。容器服务目前提供如下两种类型的服务: - 集群内访问(ClusterIP):同一集群内其他工作负载可以通过
集群内部域名 访问工作负载。 - 节点端口访问(NodePort):指在每个节点的 IP 上开放一个静态端口,通过静态端口对外暴露服务。外部用户通过请求
节点IP:节点Port ,即可从集群的外部访问一个服务。
|
配置项 | 对应 Kubernetes 中的 ConfigMap,适用于存储不包含敏感信息的场景。 |
保密字典 | 对应 Kubernetes 中的 Secret,适用于存储密码、令牌、密钥等敏感数据的场景。 |
组件 | 为集群提供的监控、镜像、调度等类型的插件。 |