zoukankan      html  css  js  c++  java
  • K8s调度原理和Pod生命周期

    1、K8s调度原理

     Pod只存在某一个物理节点上,可以运行多个Container

    2、Pod的生命周期

    暂停Pod,可以暂停deployment

    kubectl get depolyment

    kubectl scale  --replicas=0  deployment/xxx

    删除Pod。删除之后,状态变成Succeed

    kubectl delete pod  podname

    3、资源限制

    资源标签  kubectl  label

    资源限制: nodeSelector

    查看有哪些label

    kubectl  get node   --show-labels

    打标签: 给node2打上标签

    kubectl labels  node node2  disktype=ssd

    修改xxx.yaml文件

     kubectl   apply  -f   xxx.yaml

    这样pod就会在node2节点上。

    4、调度约束

    Pod标签: metadata:labels:XXX:YYYY

    调度约束:spec:selector:XXX:YYYY

    //给Pod打标签,然去找这个Pod

    调度约束: spec:podSelector:matchLabels:XXX:YYYY

    5、健康检查

    LivenessProbe(容器级别)  //查询容器出问题,尝试进行重启。在高可用场景下使用。

    ReadinessProbe(容器级别) //查询容器出问题,停止容器对外的服务。适用于滚动升级、新应用上线,这时候可能代码有问题。

    restartPolicy(pod级别) ,当这个Pod出现问题时,是restart,还是非restart。

    实例1:

    如下图所示,对容器readiness-httpget, 设置健康检查ReadinessProbe, 使用http的方式对index.html 进行查询。

    如果正常拿到,则认为容器是正常启动的。inititalDelaySeconds表示停止多少秒再进行检查检查。

    peripdSeconds: 表示查询成功后,每隔多少秒进行反复查询

    如果index.html 获取不到,则认为容器异常,立刻停止容器对外的访问,由其它Pod提供服务。

     实例2

     启动过程中,传递一个命令。该命令创建一个文件。每隔3秒检查这个文件是否存在。检查到没有这个文件,则进行容器重启。

  • 相关阅读:
    用JS获取地址栏参数的方法(超级简单)
    js全选
    梦幻西游手游三界奇缘答题 文字解答
    父级div height:auto无效解决办法
    DropDownList赋值,绑定,传值
    《梦幻西游》手游人宠抗防修炼点修消耗表
    使客户端的控件ID保持不变,不受母版页的影响
    无法读取项目文件 .csproj
    七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
    MVC控件解析
  • 原文地址:https://www.cnblogs.com/linlf03/p/14079363.html
Copyright © 2011-2022 走看看