zoukankan      html  css  js  c++  java
  • k8s的pod生命周期

    pod的生命周期:
    1.init container
    2.main contianer
    (1) post start hook :容器启动后做什么操作(可以命令查看kubectl explain pod.spec.containers.livesysle)
    (2) readiness probe :容器正常工作阶段 (可以命令查看kubectl explain pod.spec.containers.readinessProbe/livenessProbe) (用于存活性探测和就绪性探测)
    (2) pre stop hook :容器停止前做什么操作 (可以命令查看kubectl explain pod.spec.containers.livesysle)
    例:
    在kubectl explain pod.spec.containers.readinessProbe下面的选项解释:
    exec (健康状态监测) 以命令方式来检测容器健康监测,注意一定得是容器内包含的镜像所支持的命令才可以。(如:ps,ss,netstat命令检查服务的端口或者反馈来判断容器是否健康)
    failureThreshold 多判断几次,连续N次监测不成功才认为真不健康。 (错误阈值)
    httpGet (健康状态监测) 例:可以用请求服务,看看是否会有你认为标准的反馈结果,如果正常则可以认为是健康的。
    initialDelaySeconds 初始化多久以后再检查,不定义的话,刚启动就检查。
    periodSeconds 检查周期,隔多长时间监测一次。
    successThreshold 多判断几次,连续N次监测成功才认为是健康的。 (成功阈值)
    tcpSocket (健康状态监测) 探测服务所监听的某一端口是否可以响应,若能响应,则认为健康。
    timeoutSeconds 当检查时对方没响应,我们最多等待多长时间后就认为是监测失败。

    健康状态监测和就绪状态监测区别:健康监测有权重启容器,就绪监测无权重启容器。

    pod对象的相位:
    pod对象总是应该处于其生命进程中的一下几个相位(phase)之一

    1.pending:apiserver创建了pod资源对象并已存入etcd中,但尚未被调度完成,或仍处于从仓库下载镜像的过程中。
    2.running: pod 已经被调度到某节点,并且所有容器都已经被kubelet创建完成。
    3.succeeded:pod中的所有容器都已经成功终止并且不会被重启;
    4.failed:所有容器都已经终止,但至少有一个容器终止失败,即容器返回了非0值的推出状态或已经被系统终止。
    5.unknown:apiserver无法正常获取到pod对象的状态信息,通常是由于其无法与所在工作节点的kubelet通信所致。

  • 相关阅读:
    js 的关键字
    如何理解闭包?
    post请求下载文件,获取Content-Disposition文件名
    reactjs踩坑记
    原生js的一些盲点
    js深拷贝
    使用 event.preventDefault() 时报错 Unable to preventDefault inside passive event listener invocation.
    vue项目中 在index.html里引入css不生效的解决方式
    Do not access Object.prototype method‘hasOwnProperty’ from target object no-prototype-builtins
    AJAX详解
  • 原文地址:https://www.cnblogs.com/Smbands/p/10840761.html
Copyright © 2011-2022 走看看