Kubernetes学习之路
第一章 Kubernetes学习入门之Container(容器)、Pod(小组)和node(节点)概念
文章目录
前言
在 Kubernetes 中,Pod 是一个包含一个或多个容器(Container)的调度单元。因此,可以说一个 Pod 包含了一个或多个容器(Container)
。具体来说:
单容器 Pod:如果 Pod 只有一个容器(Container),那么这个 Pod 实际上就只包含一个容器(Container)。
多容器 Pod:如果 Pod 中有多个容器(Container),这些容器(Container)在同一个 Pod 内部共享网络和存储资源,并且它们通常一起运行以实现某种共同的功能或服务。
简言之,Pod 是 Kubernetes 中的一个封装单位,里面可以包含一个或多个容器(Container)。通过这种方式,Kubernetes 可以管理和协调容器的运行环境和资源共享。而node是节点,一个节点又包含多个pod
。
一、Container(容器)
定义:容器是一个轻量级的、独立的执行环境,封装了应用程序(app)及其所有依赖,包括库、配置文件和环境变量。容器通过虚拟化技术共享操作系统内核,但彼此之间相互隔离。它使用namespace隔离不同的软件运行环境,并通过镜像自包含软件的运行环境,从而使得容器可以很方便的在任何地方运行。
功能:容器可以在任何支持容器的环境中运行,确保应用程序在不同环境中的一致性。它们提供了快速的启动时间、低开销和高效的资源利用。
在Kubernetes必须要使用Pod来管理容器,每个Pod可以包含一个或多个容器。
二、Pod(小组)
定义:Pod 是 Kubernetes 中的一个基本调度单元,它是一个或多个容器的集合,这些容器共享网络和存储资源。
功能:
- 共享网络:Pod 中的所有容器
共享一个 IP 地址和端口空间
,这意味着它们可以通过 localhost 直接通信。 - 共享存储:Pod 中的容器可以挂载
同一个存储卷
,实现数据的共享和持久化。 - 调度:Kubernetes 调度器会将 Pod 分配到集群中的节点上运行。
- 生命周期管理:Pod 提供了一个生命周期管理的视角,可以通过它来管理容器的启动、停止和滚动更新等。
1.单容器 Pod
单容器 Pod 是 Kubernetes 中最简单的 Pod 类型,其