zoukankan      html  css  js  c++  java
  • k8s

    先上图,通过图来看看pod的生命周期

    当kubectl调用创建pod的命令之后,pod会经历以下几个阶段,跟着图来走

    如图,这个pod里面会有n个容器

    1. init container(初次化容器)

    每个容器都可以存放一些初次容器(init container),这个初次容器的目的就在运行真正容器之前的一些准备工作,例如拷贝文件,初次化文件,或者获取一些敏感字段如密码,秘钥等。为什么这样做呢?有以下几个点

    • a.假设每个容器里面都带有一些拷贝的命令工具,如zip,或者crul等工具,就会造成每一个容器的大小会增加,因为这些unzip等工具,在容器运行当中是不会使用到的,这样变成工具冗余了,所以希望能在初次化容器中完成所有工作后就把容器关闭。
    • b.因为在真正启动的容器当中,是不可以访问敏感字段空间的,所以初次化容器就能把需要的敏感字段拿到后,赋予给主容器当中,这样就不会出现主容器的安全性问题了。
    • c.这里注意的是,初次容器是同步运行的,按顺序执行,第一初次化容器执行容器失败,是不会进入第二个初次化容器的。
    • d.这里也涉及到初次化容器的启动策略

    2. start (启动容器)

    初次化容器全部执行完成后,将会全部被杀掉,然后主容器将会被启动

    3. readiness (探针)

    启动过程中,会带有探针,目的是检查容器是否启动成功,如果成功,才会把服务端口暴露出去

    4. liveness (存活)

    在整个过程中会检查主容器的存活状态

    5. stop (停止容器

    最后就是停止容器,这里必须是人为的停止或者控制器停止

  • 相关阅读:
    c++ qt安装配置教程
    PKi系统
    IKE协议
    Kerberos
    RADIUS和Diameter
    RageFrame学习笔记:创建路由+导入layui
    TP6框架--EasyAdmin学习笔记:数据表添加新参数,如何强制清除缓存
    JS原生2048小游戏源码分享
    风场可视化学习笔记:openlayers
    vue3.0 demo代码记录
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/12218855.html
Copyright © 2011-2022 走看看