• k8s pod理论


    一、Pod概述

    1、Pod的定义

    Pod是K8S中创建和管理的最小单位。

    2、一个Pod至少包含多少容器

    1个pause容器(基础容器/父容器/根容器)和 1个或者多个应用容器(业务容器)

    通常一个Pod最好只包含一个应用容器,一个应用容器最好也只运行一个应用进程
    同一个Pod里的容器都是运行在同一个node节点上的,并且共享 net mnt uts pid ipc 命名空间

    3、pause容器的作用

    给Pod容器组做环境初始化

    作为linux命名空间共享的基础,为Pod里的其它容器提供网络、存储资源的共享
    作为pid=1的init管控类进程管理整个Pod容器组的生命周期

    二、Pod的3种类型

    • 控制器管理的Pod:

    由scheduler调度到node节点运行的;被控制器管理的;有自愈能力,一旦Pod挂掉了,会被控制器重新拉起;有副本管理、滚动更新等功能
    创建命令:kubectl create deployment ....     控制器有 deployment  statefulset   deamonset 

    • 自主独立的Pod:

    由scheduler调度到node节点运行的;不被控制器管理的;没有自愈能力,一旦Pod挂掉了,不会被重新拉起;没有副本管理、滚动更新等功能
    创建命令:kubectl run

    • 静态Pod:

    不由scheduler调度到node节点运行的,而是由kubelet自行管理的;始终与kubelet运行在同一个node节点上;通过向apiserver发送请求无法直接删除的
    在node节点的/etc/kubernetes/manifests目录中放置Pod的yaml配置文件,kubelet就会自动根据yaml配置文件创建静态Pod

    三、Pod中的3种容器

    • pause容器(基础容器/父容器/根容器)

    给Pod容器组做环境初始化,作为linux命名空间共享的基础,为Pod里的其它容器提供网络、存储资源的共享,作为pid=1的init管控类进程管理整个Pod容器组的生命周期。pause容器是Pod最先启动的容器。

    • init容器(初始化容器/init container)

    可以在应用容器启动前,为应用容器提供运行依赖环境或工具包;还可以阻塞或延迟应用容器的启动
    init容器是在pause容器之后启动的;如果Pod定义了多个init容器,它们是串行启动的,即要在上一个init容器成功的完成启动退出后才会启动

    • 应用容器(业务容器/main container)

    提供应用程序业务,应用容器是在所有init容器都成功的完成启动退出后才会启动;如果Pod定义了多个应用容器,它们是并行启动

    四、Pod容器的3种镜像拉取策略

    imagePullPolicy(与image字段同一层级)

    IfNotPresent:优先使用node节点本地已存在的镜像,如果本地没有则从仓库拉取镜像。是标签为非latest的镜像的默认拉取策略
    Always:总是从仓库拉取镜像,无论node节点本地是否已存在镜像。是标签为latest或无标签的镜像的默认拉取策略
    Never:仅使用node节点本地镜像,总是不从仓库拉取镜像。

    五、Pod容器的3种重启策略

    restartPolicy(与containers字段同一层级)

    Always:当Pod容器退出时,总是重启容器,无论容器退出状态码如何。是默认的容器重启策略
    OnFailure:当Pod容器异常退出时(容器退出状态码为非0),才会重启容器;正常退出的容器(容器退出状态码为0)不重启
    Never:当Pod容器退出时,总是不重启容器,无论容器退出状态码如何

    deamonset statefulset控制器的Pod容器重启策略只能设置为 Always,自主类型的Pod容器重启策略可选择 Always OnFailure Never

  • 相关阅读:
    Vuex的5个核心属性是什么?
    vue基本使用1
    路由、 网络、互联网、因特网、公网私网IP、NAT技术
    数据库-事务
    【Meetup预告】OpenMLDB+OneFlow:链接特征工程到模型训练,加速机器学习模型开发
    《计算机操作系统-第三章》之中断与系统调用
    可编程计数器/定时器8253
    开源VOSK引擎免费语音转文字部署
    Vue 3 组件通信与状态管理:从基础到Pinia的全面解析
    禁止瘟疫清零计划 Project Zero与VR一起启动
  • 原文地址:https://blog.csdn.net/lcy913/article/details/136346714