K8s概念之进程、容器与 Pod 的终极指南


对于每一个初入云原生世界的人来说,Kubernetes 那些让人眼花缭乱的术语常常是最大的挑战。其中,最容易混淆的莫过于 进程容器Pod 这三个概念。它们就像是俄罗斯套娃,层层嵌套,但又各自扮演着独特的角色。

本文将用最简单直白的方式,为您彻底理清它们之间的关系。


1. 进程:最基础的执行单元

在操作系统层面,进程是程序执行的一个实例。当您双击一个应用图标,操作系统就会启动一个进程来运行它。进程是计算机资源(如 CPU、内存、文件句柄等)分配的最小单位。


2. 容器:隔离的运行时环境

容器 并不是一个进程,但它运行一个或多个进程

容器是一种特殊的、被严格隔离的运行时环境。它利用了操作系统内核的特性(如 CgroupsNamespaces),为其中的进程提供了一个独立的、与宿主机和其他容器隔离的沙盒。

您可以把容器想象成一个独立的房间。这个房间有自己的门牌号(端口),里面有家具(应用程序的依赖库),而房间里的人(进程)在做着自己的事情,互不干扰。


3. Pod:Kubernetes 的最小调度单元

Pod 则是 Kubernetes 中最重要的抽象,它是一个或多个容器的逻辑分组

Pod 确保了这些容器能够:

  • 共享同一个 IP 地址 :它们共享同一个网络命名空间,可以像在同一台机器上一样通过 localhost 互相通信。
  • 共享存储卷:Pod 中的容器可以访问共享的存储空间,方便数据共享。
  • 被作为一个整体管理:Pod 是 Kubernetes 调度的最小单位。所有的容器都会被一起调度到同一个节点上,一起启动、一起停止。

简而言之,如果您想在 Kubernetes 中部署应用,您部署的不是容器,而是 Pod


终极比喻:进程、容器与 Pod 的关系

想象一下您在盖一栋房子:

  • 进程 就像是房子里的人正在进行的活动(例如,做饭、看书)。
  • 容器 就像是房子里的一个房间(例如,厨房、书房)。它将不同的活动(进程)隔离开来。
  • Pod 则是这整栋房子。它包含了多个房间(容器),但所有房间都共享同一个地址(IP 地址)和公用设施(网络、存储)。

在 Kubernetes 中,您不能只调度一个房间(容器),您必须调度一整栋房子(Pod)。

进程 容器 Pod
是什么? 程序执行的实例 隔离的运行时环境 一个或多个容器的集合
核心功能 资源分配的单位 封装应用和依赖 最小的部署和调度单元
比喻 房间里的活动 房间 房子

希望这个简单的指南能够帮助您彻底掌握这些核心概念,为您的云原生学习之路打下坚实的基础。

相关推荐
风曦Kisaki38 分钟前
Kubernetes(K8s)笔记Day06: 持久化存储(emptyDir,hostPath,NFS),PV 和 PVC,StorageClass存储类
linux·运维·笔记·云原生·容器·kubernetes
Crazy________5 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
阿里云云原生6 小时前
AI 创新实践论坛·上海站精彩回顾 & PPT 下载
云原生
阿里云云原生7 小时前
轮子还要自己造吗?SRE 团队视角:从“全栈自研”到“拥抱云原生可观测底座”的思考
云原生
生活爱好者!7 小时前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
xiaoxiangsiyan7 小时前
GitLab CI/CD 自托管(EE 企业版)+ Kubernetes Runner 集群 + ArgoCD(GitOps 部署)
运维·网络·ci/cd·容器·kubernetes·gitlab·argocd
PC2005-cloud7 小时前
KubeSphere 安装到插件管理实战:本地 K8s 搭建可视化容器平台
云原生·容器·kubernetes
沉迷学习 日益消瘦10 小时前
19-集群升级与维护
kubernetes
凌虚10 小时前
Kubernetes 编年史:从 Borg 到云原生操作系统
后端·程序员·kubernetes
瞬间&永恒~10 小时前
【Docker】(四)Namespace 详解
运维·docker·容器