• K8s控制器


    K8s控制器

    POD分类

    #自主式pod:退出后,不会被创建
    #控制器管理的pod:在控制器的生命周期内,始终位置pod的副本数
    

    控制器类型

    ReplicationController和ReplicaSet Rc被Rs取代
    Deployment
    DeamonSet
    StateFulSet
    Job/Cronjob
    Horizontal Pod Autoscaling
    

    ReplicationController和ReplicaSet

    RC确保用户指定的Pod副本数
    新版本的k8s,Rs取代了Rc,RC与RS没有本质不同,只是RS支持集合式的selecor,通过标签label
    

    Deployment

    #命令式编程:侧重如何实现程序,需要按逻辑一步步把代码写出来
    #声明式编程:侧重于定义想要什么,然后告诉计算机引擎,让他帮你实现;具有冪等性。(也就是给程序一份配置文件,它自动按照配置去执行任务,类似的引用如sql语句)
    
    Deployment为pod和ReplicaSet提供了声明式的定义方法,(RC,RS是命令式的)
    声明式编程 (Deployment) apply(最优) create(可以执行,但不是最优)
    命令式编程 (RS)         create(最优) apply(可以执行,但不是最优)
    
    应用场景
    1. 定义Deployment创建Pod和ReplicaSet
    #如:如果创建名为nginx-deploy的deployment,那么deployment就会创建nginx-deploy-xxxx的rs,然后由rs去创建pod
    
    2. 滚动升级与回滚应用
    #通过控制rs的数目或版本实现
    #如:滚动升级就是通过创建一个新版本的rs,旧版rs删除一个pod,新版本rs新建一个pod,从而实现滚动升级;如果发现新版本的pod有问题,就可以启动旧版本的rs,新版rs删除一个pod,旧版pod新建一个pod,从而实现了回滚
    
    3. 扩容与缩容
    通过rs自身的机制实现
    
    4. 暂停与继续Deployment
    #通过控制rs实现pod的挂起与继续
    

    DaemonSet

    1.确保全部或一部分node上运行一个Pod副本(也就是指定那些node上运行pod)。当有Node加入集群时,也会为它们新增一个pod。当有Node移出集群时,这些pod也会被回收。
    # 画外音:DaemonSet生命周期内,这些node上都会维持一个pod副本,注意只能有一个不能多余一个pod。如果真的需要一个node上运行多个pod,需要通过定义多个DaemonSet的方式实现
    
    2.删除DaemongSet时,也会删除它所创建的所有pod
    
    
    典型用法
    #主要是运行一个守护性的pod
    1. 运行集群存储daemon 
    2. 在每个Node上运行日志收集daemon
    3. 在每个node上运行监控程序daemon
    

    Job

    负责批处理任务,仅执行一次的任务,job中的脚本成功执行退出的次数,达到指定次数后就成功退出,不在执行
    #画外音:如果job中的脚本没有以0结束就会重新执行。
    

    CronJob 在特定的时间循环创建Job

    基于时间的Job,即 跟crontab一样 分 时 日 月 年
    # 在给定时间点只执行一次
    # 周期性的在给定时间点运行
    使用前提: k8s版本》=1.8
    
    典型的用法
    # 在给定的时间点调度Job
    # 创建周期性的Job,如:数据库备份,发送邮件
    

    StatefulSet

    为了解决有状态服务的问题(对应Deployment和RS是为无状态服务而设计)
    
  • 相关阅读:
    fetch API 和 ajax
    java 通过数据库名获得 该数据所有的表名以及字段名、字段类型
    自定义注解,通过反射获得注解中的值(详细自定义注解解释)
    main方法中sleep
    eclipse中设置JVM内存
    命令java 找不到或无法加载主类
    windows下的命令
    mac terminal基本命令
    ThreadLocal 源码剖析
    SQL中的函数用法
  • 原文地址:https://www.cnblogs.com/henryno12/p/12300311.html
Copyright © 2020-2023  润新知