• Kubernetes概念之RC


    感觉自己浪费了一年的时间,种一棵树最好的时间是十年前,还有就是现在,虽然这颗树种了又种,种了又种,这次真的要种了......
     
    本文通过《Kubernetes权威指南》的概念部分学习总结 

    RC(Replication Controller)

    RC定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,RC的定义包括如下:
    1)Pod期望的副本数
    2)用于筛选目标Pod的Label Selector
    3)当Pod的副本数量小于预期的时候,用于创建新的Pod的Pod模板
     
     
    当我们定义了一个RC并提交到Kubernetes集群中以后,Master节点上的Controller Manager组件就得到通知,定期巡检系统中当前存活的目标Pod,并确保目标Pod实例的数量刚好等于此RC的期望值,如果有过多的Pod副本在运行,系统就会停掉一些Pod,否则系统就会再自动创建一些Pod。通过RC,Kubernetes实现了用户应用集群的高可用性,并大大减少了系统管理员在传统IT环境中需要完成的手工运维工作(如主机监控脚本,应用监控脚本,故障恢复脚本)
     

    假设场景

    1)我们有一个3个Node节点的集群,我们定义了一个RC,在这个RC里定义了redis-slave这个Pod需要保持两个副本,如图:
     
    2)假设Node2上的Pod2意外终止了,根据RC定义的replicas数量为2,Kubernetes将会自动创建并启动一个新的Pod,以保证整个集群中始终有两个redis-slave Pod运行
     
     
    3)在运行时,可以通过修改RC的副本数量,实现Pod的动态缩放(scaling)
     
    kubectl scale rc redis-slave --relicas=3

     

    注意
    1)删除RC并不会影响已经听过该RC创建的Pod
    2)为了删除所有Pod,可以将RC的replicas设置为0,然后更新该RC
    3)可通过kubectl stop和delete命令一次性删除RC和RC控制的全部Pod
      

    RC的特性与作用

    1)在大多数情况下,我们通过定义一个RC实现Pod的创建过程以及副本数量的自动控制。
    2)RC里包括完整的Pod定义模板
    3)RC里包括完整的Label Selector机制实现对Pod副本的自动控制
    4)通过改变RC里的Pod副本数量,可以实现Pod的扩容和缩容功能
    5)通过改变RC里的Pod模板中的镜像版本,可以实现Pod的滚动升级功能 
     
     
  • 相关阅读:
    c语言通过89C51驱动1602液晶显示(入门级别)
    Top k问题的讨论(三种方法的java实现及适用范围)
    单链表是否有环的问题解决与讨论(java实现)
    有效二叉查找树判断(java实现)
    字典序全排列(java实现)
    Java LRU的实现
    Windows 系统中目录 (Directory) 与文件夹 (Folder) 的区别
    Linux 版 SecureCRT 界面变为 Windows 2000 风格的解决办法
    也谈如何获取真实正确的 Windows 系统版本号
    64 位 Windows 平台开发要点之文件系统重定向
  • 原文地址:https://www.cnblogs.com/lemon-le/p/11544189.html
Copyright © 2020-2023  润新知