news 2026/7/23 12:08:53

Node、Pod和Container的概念简介

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Node、Pod和Container的概念简介

1.简化版

Node 、 Pod 和Container 都属于Kubernetes体系的核心概念:

  • Node是 Kubernetes 集群中的工作机器,可以是物理机或虚拟机。
    • - 是集群的基础设施层
    • - 提供计算资源(CPU、内存、存储、网络)
    • - 可以是 Master 节点或 Worker 节点
  • Pod是 Kubernetes 中最小的可部署单元(最小调度单位),是对容器的封装。
    • - 是应用程序的运行载体
    • - 包含一个或多个容器
    • - 共享网络命名空间和存储卷
  • Container是 Pod 中实际运行应用程序的单元,基于容器镜像创建。

直观对比:

┌─────────────────────────────────────────┐ │ Node(节点) │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ Pod A │ │ Pod B │ │ │ │ ┌─────────┐ │ │ ┌─────────┐ │ │ │ │ │Container│ │ │ │Container│ │ │ │ │ └─────────┘ │ │ └─────────┘ │ │ │ └─────────────┘ └─────────────┘ │ │ CPU / Memory / Disk / Network │ └─────────────────────────────────────────┘

类比:

Node ≈ 酒店(提供房间和基础设施) Pod ≈ 客房(实际住人的地方) 容器 ≈ 房间里的床位 一个酒店可以有多个客房 一个客房可以有多个床位(多容器 Pod) 客人(应用)住在床位上

2. Kubernetes 核心概念介绍

2.1 🖥️ Node(节点)

Node 是 Kubernetes 集群中的工作机器,可以是物理机或虚拟机。

节点类型:

集群架构 ├── Master Node(控制节点) │ ├── API Server # 集群入口,处理所有请求 │ ├── Scheduler # 负责 Pod 调度 │ ├── Controller Manager # 管理控制器 │ └── etcd # 集群状态存储 │ └── Worker Node(工作节点) ├── kubelet # 管理节点上的 Pod ├── kube-proxy # 网络代理,处理服务转发 └── Container Runtime # 容器运行时(如 Docker、containerd)

查看节点:

kubectl get nodes kubectl describe node <node-name>

2.2 📦 Pod

Pod 是 Kubernetes 中最小的可部署单元,是对容器的封装。

核心特性:

特性说明
共享网络Pod 内所有容器共享同一个 IP 和端口空间
共享存储Pod 内容器可以访问相同的 Volume
生命周期Pod 是临时性的,重启后 IP 会变化
最小单元调度、扩缩容的基本单位

Pod 示例:

apiVersion: v1 kind: Pod metadata: name: my-pod labels: app: myapp spec: containers: - name: main-container # 主容器 image: nginx:latest ports: - containerPort: 80 - name: sidecar-container # 边车容器 image: busybox command: ['sh', '-c', 'echo Hello']

Pod 生命周期:

Pending → Running → Succeeded ↘ Failed ↘ Unknown

2.3 🐳 Container(容器)

Container 是 Pod 中实际运行应用程序的单元,基于容器镜像创建。

容器类型:

Pod 中的容器类型 ├── Init Container(初始化容器) │ └── 在主容器启动前运行,用于初始化工作 │ ├── Main Container(主容器) │ └── 运行业务应用 │ └── Sidecar Container(边车容器) └── 辅助主容器,如日志收集、监控等

容器配置示例:

containers: - name: my-app image: my-app:1.0 # 资源限制 resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" # 环境变量 env: - name: ENV_NAME value: "production" # 健康检查 livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 30 periodSeconds: 10 # 挂载存储 volumeMounts: - name: config-volume mountPath: /etc/config

2.4 三者关系

2.4.1 Node和Pod的区别和联系

Node和Pod的区别:

维度NodePod
本质物理/虚拟机器逻辑运行单元
层级基础设施层应用层
生命周期长期稳定存在短暂、可随时重建
IP 地址节点 IP(固定)Pod IP(重启会变)
资源提供资源消耗资源
数量关系集群节点数较少Pod 数量可以很多
管理者运维/云平台Kubernetes 调度器

Node和Pod的联系:

1. 包含关系 Node 承载 Pod,每个 Pod 必须运行在某个 Node 上 2. 资源关系 Pod 申请资源 → Kubernetes 调度 → 分配到合适的 Node 3. 生命周期关联 Node 宕机 → 其上的 Pod 被重新调度到其他 Node

2.4.2 调度过程

用户创建 Pod ↓ Scheduler 根据资源需求选择合适的 Node ↓ Pod 被绑定到 Node 上运行 ↓ Node 上的 kubelet 负责管理该 Pod

Container 是 Pod 的内部实现细节,用户不直接管理 Container:

用户/开发者 → 创建 Pod(或更高层的工作负载) ↓ Kubernetes 负责在 Pod 内创建和管理 Container

在生产中,用户很少直接创建pod,通常创建的是更高层的工作负载对象,由它们来管理 Pod:

用户创建 │ ├── Deployment # 无状态应用(最常用) ├── StatefulSet # 有状态应用(数据库等) ├── DaemonSet # 每个 Node 跑一个(日志收集等) ├── Job / CronJob # 一次性/定时任务 └── (直接创建 Pod) # 极少,仅用于测试

因为直接创建的 Pod(裸 Pod)有致命缺陷:

1.直接创建的 Pod(裸 Pod)有致命缺陷: Node 宕机 ↓ Pod 消失 ↓ ❌ 没有人重建它!应用就挂了 2. Deployment 管理的 Pod: Node 宕机 ↓ Pod 消失 ↓ ✅ Deployment Controller 自动在其他 Node 重建 Pod

典型用户操作示例:

# 用户实际写的是 Deployment apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: replicas: 3 # 我要 3 个 Pod selector: matchLabels: app: my-app template: # 这里描述 Pod 的模板 spec: containers: # Pod 内的容器定义 - name: app image: nginx

调度流程:

用户创建 Deployment ↓ Deployment Controller 自动创建 3 个 Pod ↓ Scheduler 将每个 Pod 调度到合适的 Node ↓ kubelet 在 Node 上启动 Container

层级总结:

用户关心 → Deployment / StatefulSet(我要几个副本,用什么镜像) ↓ 自动管理 K8s 负责 → Pod(调度、重启、健康检查) ↓ 自动管理 K8s 负责 → Container(启动、停止容器进程)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 12:06:43

BQ41Z50数据闪存参数详解:Gas Gauging与RA Table配置实战

1. 项目概述&#xff1a;BQ41Z50数据闪存参数详解在电池管理系统&#xff08;BMS&#xff09;的开发与调试中&#xff0c;最核心也最令人头疼的环节&#xff0c;往往不是电路设计&#xff0c;而是对电量计芯片内部“黑盒”的精准配置。我接触过不少项目&#xff0c;硬件设计完美…

作者头像 李华
网站建设 2026/7/23 12:06:25

业务规则频繁变更怎么办?平台工作流、垂直产品与定制对比

企业在寻找AI应用定制公司时&#xff0c;通常把功能清单和交付周期放在谈判首位&#xff0c;却很少提前讨论一个更关键的问题&#xff1a;业务规则变更时怎么办。规则反复定义、阈值临时调整、接口字段变化&#xff0c;是AI应用定制项目中导致延期和返工的重要原因之一。业务规…

作者头像 李华
网站建设 2026/7/23 12:05:56

CNN与GRU组合在时间序列预测中的实践与优化

1. 时间序列预测的黄金搭档&#xff1a;CNN与GRU组合解析 在工业预测、金融分析、气象预报等领域&#xff0c;时间序列预测一直是个既关键又棘手的问题。传统方法如ARIMA、指数平滑在面对非线性关系时往往捉襟见肘。我在最近一个工业设备故障预测项目中&#xff0c;采用CNN与GR…

作者头像 李华
网站建设 2026/7/23 12:05:52

Codex与AI编程助手:提升开发效率200%的实战指南

1. Codex与AI编程革命&#xff1a;从理论到实践三年前当我第一次接触GitHub Copilot时&#xff0c;需要手动补全整行代码的体验已经让我惊叹。而今天&#xff0c;基于OpenAI Codex的AI编程助手能够直接生成完整的函数实现&#xff0c;甚至根据注释描述自动构建整个类结构。这种…

作者头像 李华
网站建设 2026/7/23 12:05:47

【会议征稿通知 | 哈尔滨信息工程学院主办 | ACM出版 | EI 、Scopus稳定检索】第五届信息经济、数据建模与云计算国际学术会议(ICIDC 2026

第五届信息经济、数据建模与云计算国际学术会议(ICIDC 2026) The 5th International Conference on Information Economy, Data Modeling and Cloud Computing 2026年8月28-30日 | 中国-哈尔滨 大会官网&#xff1a;http://www.icidc.org 截稿时间&#xff1a;见官网&#x…

作者头像 李华