大家好,我是 B站 大衣哥编程,今天给大家介绍k8s中, 容器、pod、node节点相关概念及之间关系,如果您对编程感兴趣,特别是C/C++、C#、Java、Go分布式、流媒体、数据库等,可戳:超实用:C++/Java/C#/数据库/网络:编程开发实战分享,下面我们具体看下相关概念,并梳理他们之间的关系:

一个 Node 通常对应一台物理机或虚拟机

Pod 是 Kubernetes 的最小调度单元,可以包含 1 个或多个容器。

(1)容器与 Pod 的关系

1 个 Pod ≈ 1 个或多个容器:

单容器 Pod:最常见形式(如运行 Nginx)。

多容器 Pod:需紧密协作的容器组(如主应用 + Sidecar 日志收集器)。

(2)Pod 与 Node 的关系

1 个 Node ≈ 多个 Pod:

一个 Node 可以运行数十甚至数百个 Pod,具体取决于资源容量。

每个 Pod 内可包含 1 个或多个容器。

示例:

单台主机(Node):运行 3 个 Pod,其中:

Pod1:1 个 Nginx 容器。

Pod2:2 个容器(主应用 + 日志代理)。

Pod3:1 个 Redis 容器。

总计:1 台主机上运行了 4 个容器(分布在 3 个 Pod 中)。

总结
Pod 是逻辑单元:Kubernetes 通过 Pod 抽象容器组,隐藏底层细节。

Node = 主机:代表实际的物理或虚拟计算资源。

单机多容器:一台主机可运行多个 Pod,每个 Pod 可包含多个容器。

这种设计平衡了灵活性和资源利用率,是 Kubernetes 的核心架构思想。在这里插入图片描述
层级总结
Cluster:由多个 Node 组成的集群。

Node:物理/虚拟机,运行 Pod 的载体。

Pod:逻辑单元,包含 1 个或多个容器。

Container:实际运行应用的进程。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐