pod是k8s中最小的资源管理组件
pod也是最小化运行容器化的应用的资源管理对象
pod是一个抽象的概念,可以理解成一个或者多个容器化应用的集合
pod可以是一个或者多个
在一个pod中运行一个容器(最常用的方式)
在一个pod中同时运行多个容器。在一个pod中可以同时封装几个需要耦合的互相协作的容器
这些多个容器共享资源,也可以互相协作,组成一个service单位
无论运行一个容器还是多个容器,k8s管理的都是pod,不是容器
一个pod内的容器,必须都运行在同一个节点。基于现代容器技术的要求,一个pod运行一个容器,一个容器只运行一个进程。
①横向扩展,方便扩缩容
②解耦,一个pod内运行多个容器,耦合度太高,一旦一个进程失败,整个pod将全部失败。实现解耦,基于pod可以创建多个副本,实现高可用和负载均衡
③管理方便,简单直观
pod内的容器共享(所有)资源。共享机制由pause底层基础容器来提供
pause容器是基础容器,也可以称为父容器。作用就是管理pod内容器的共享操作
pause还可以管理容器的生命周期
k8s提供了pause容器
1、为pod内的所有容器提供一个命名空间
2、启动容器的pid命名空间,每个pod中都作为pid为1的进程(init进程),回收僵尸进程
pod里面是容器,容器运行的是进程 pid
pause 父进程1 在pod内部