知识卡片
Kubernetes五层资源模型及各自对应的最小管理单位
内容
Kubernetes”一切皆资源、资源间靠层级关系组合协作”的设计理念,在计算 资源这条线上体现为五个层级,每一层都对应一种最小管理单位。容器 (Container)延续Docker以来一个容器封装一个进程的理念,是镜像管理的 最小单位。生产任务(Pod)补上容器化后缺失的”进程组”概念(见[[Pod是 容器编排中进程组概念的对应物用来实现超亲密协作]]),是资源调度的最小 单位——它是Kubernetes资源模型里唯一”只在逻辑上存在、没有物理对应物” 的概念,正因为对应的”进程组”本身也只是逻辑概念。节点(Node)对应集群 中单台机器(物理机或云端虚拟节点),是处理器和内存等资源的资源池, 是硬件单元的最小单位。集群(Cluster)对应整个集群,用户部署应用时只需 通过声明式API把意图写成一份元数据(Manifest)提交给集群,不必关心具体 分配到哪个节点、如何实现Pod间通信、如何保证韧性弹性——集群是处理 元数据的最小单位。集群联邦(Federation)对应多个集群,可以统一管理, 典型应用是跨可用区域多活、跨地域容灾。这五层从”进程”到”多集群”逐级 抽象升维,每升一级,使用者需要操心的物理细节就少一层——这条脉络也是 理解为什么Kubernetes被称为”云原生操作系统”的关键线索:操作系统的价值 正在于把底层硬件细节层层抽象掉,只暴露给上层一套一致的资源接口。
参考来源
- 位置:《凤凰架构:构建可靠的大型分布式系统》第11章"虚拟化容器"11.2.1节
"隔离与协作"(源文件:_epub-src对应OEBPS/Text/chapter136.xhtml)
- 结论依据:原文逐一定义容器(镜像管理最小单位)、Pod(资源调度最小
单位,唯一无物理对应物的概念)、节点(硬件单元最小单位)、集群
(处理元数据最小单位)、集群联邦(多集群管理)五个层级及其职责,
直接支撑本卡片结论。
- 原始内容:不同资源之间依靠层级关系相互组合、协作的这个思想是贯穿
Kubernetes整个系统的两大核心设计理念之一……由于Pod是Kubernetes中
最重要的资源,又是资源模型中一种仅在逻辑上存在、没有物理对应的
概念……是其他编排系统没有的概念。