一、libeness probe的三种检测机制

  1. HTTP GET:对容器的IP(指定的端口和路径)执行HTTP GET请求,收到响应并返回状态码不代表错误(2xx/3xx),成功
  2. TCP socket:与容器指定端口建立TCP链接,建立链接成功,表示检测成功
  3. Exec:在容器内执行自定义命令,退出状态码是0,检测成功

二、liveness probe探测机制

  1. kubernetes会在容器崩溃或健康检测失败时(默认连续3次检测都失败,则认为检测失败)通过重启容器保持运行
  2. 当容器被强制终止时,会创建一个新的容器(而不是重启原来的容器)
  3. 探测附加属性:
    delay(延迟):容器启动后延迟多久开始监控检测(务必设置一个合理的延迟时间,否则在容器进程为完全运行前,检测已经失败,导致容器进入重启死循环)
    timeout(超时):容器的响应时间,超过设定值则超时
    period(周期):间隔多久进行下一次检测
    failure(失败):连续失败多少次后判定检测失败
  4. 检测的准确行:仅检测容器自身进程,(web前段正常,后端故障,重启前段无法恢复问题)
  5. 检测的轻量:资源消耗低、运行时间短(保证容器的轻量的同时不影响容器的运行质量)
  6. 健康检测重启pod是通过节点kubectl完成的(若节点故障则无法恢复)

四、ReplicationController(简称:RC)

  1. RC是一种资源,确保他的pod始终运行在期望的状态(用户指定的pod数量,即:几副本状态)
  2. RC会持续监控正在运行的pod列表
  3. 当RC的pod无论因何种数量发生变化,RC会根据模板新建,或删除一定数量的pod,已确保pod运行在期望的状态
  4. 通过RC可以实现pod的手动/自动伸缩
五、RC的组成
  1. label selector:标签选择器,用于确定RC作用域中有哪些pod(yml文件可以不指定,默认会根据pod的模板读取)
  2. replica count:副本数量,指定运行的pod数量
  3. pod template:pod模板,用于创建新的pod副本

六、RC的作用域

  1. RC通过作用域管理对应标签的pod
  2. 修改pod的标签后,pod将脱离RC的管控,当pod故障时不会重新被调度
  3. 注意:当修改pod的标签后,对RC本身无影响,他会重新创建出新的pod,直至达到预期状态

七、使用ReplicaSet(简称RS)代替RC

  1. ReplicaSet与RC的行为完全相同
  2. ReplicaSet可以仅通过标签的key匹配pod(RC必须匹配完整的标签:keyvalue)
  3. 修改ReplicaSet对现有的pod无影响,若想更新RS,可以删除现有的pod,RS会更具模板创建新的pod

八、更具表达力的标签选择器

  1. key:标签的名称
  2. operator:运算符:多个运算符可以一起使用,但是必须所有表达式都为true
    1)In:label的值必须与其中一个指定的values匹配
    2)NotIn:Label的值与指定的所有values都不匹配
    3)Exists:只匹配key部分,使用次运算符时不指定values字段
    4)DoesNotExist:匹配除指定key以外的所有key ,使用次运算符时不指定values字段
  3. values:标签的值

九、DaemonSet在每个节点运行一个pod

  1. DaemonSet的目的是用来运行系统服务
  2. 确保每个节点上运行一个pod
  3. 若有人在某一节点删除了一个pod,那么DaemonSet会在该节点重建pod
  4. 当新节点加入集群时,DaemonSet会立刻部署一个新的pod
  5. DaemonSet也可以只在集群中指定节点部署pod(由pod模板指定)
  6. 注意:在集群中可以设置节点的属性为“不可调用”,但是DaemonSet还是会在这些节点部署pod,因为DaemonSet不通过调度器进行调度

k8s-RC副本机制的更多相关文章

  1. k8s之list-watch机制、节点调度以及亲和性

    k8s之list-watch机制.节点调度以及亲和性 目录 k8s之list-watch机制.节点调度以及亲和性 一.list-watch机制 1. list-watch介绍 2. list-watc ...

  2. HDFS副本机制&负载均衡&机架感知&访问方式&健壮性&删除恢复机制&HDFS缺点

    副本机制 1.副本摆放策略 第一副本:放置在上传文件的DataNode上:如果是集群外提交,则随机挑选一台磁盘不太慢.CPU不太忙的节点上:第二副本:放置在于第一个副本不同的机架的节点上:第三副本:与 ...

  3. kafka副本机制之数据可靠性

    一.概述 为了提升集群的HA,Kafka从0.8版本开始引入了副本(Replica)机制,增加副本机制后,每个副本可以有多个副本,针对每个分区,都会从副本集(Assigned Replica,AR)中 ...

  4. kafka4 副本机制

    概述 每个分区有n个副本,可以承受n-1个节点故障. 每个副本都有自己的leader,其余都是follower. zk中存放分区的leader和 follower replica的信息.(get /b ...

  5. hdfs深入:03、hdfs的架构以及副本机制和block块存储

    HDFS分布式文件系统设计目标 1.            硬件错误  由于集群很多时候由数量众多的廉价机组成,使得硬件错误成为常态 2.            数据流访问  所有应用以流的方式访问数 ...

  6. 深入理解 Kafka 副本机制

    一.Kafka集群 二.副本机制         2.1 分区和副本         2.2 ISR机制         2.3 不完全的首领选举         2.4 最少同步副本         ...

  7. Kafka 学习之路(五)—— 深入理解Kafka副本机制

    一.Kafka集群 Kafka使用Zookeeper来维护集群成员(brokers)的信息.每个broker都有一个唯一标识broker.id,用于标识自己在集群中的身份,可以在配置文件server. ...

  8. Kafka 系列(五)—— 深入理解 Kafka 副本机制

    一.Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息.每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文 ...

  9. 大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)

    一.HDFS 的设计思路 1)思路 切分数据,并进行多副本存储: 2)如果文件只以多副本进行存储,而不进行切分,会有什么问题 缺点 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处 ...

  10. C和C++中的副本机制

    函数的形参.return 都有副本机制.数组没有副本机制 (为了节约内存) 函数形参和局部变量的生命周期.函数调用结束后就会被回收.

随机推荐

  1. 分析和研究Monkey Log文件

    Log 在Android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 . 什么时候会有Log文件的产生 ...

  2. JQ js 对数组的操作

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  3. 前端Map封装源码

    源于后台思路,简单封装了一下Map插件,方便以后使用. function Map() { this.elements = new Array(); //获取MAP元素个数 this.size = fu ...

  4. 软帝学院教你java命名规范法则

    java命名规范法则大全 在我们在刚开始学习java的时候,给包.类.方法等命名的时候总是取名不规范,大多都是随便取的,对于一个专业的程序员来说.命名规范化也是必不可少的.命名规范的话能够在编码过程中 ...

  5. NOIP2018 旅行 和 赛道修建

    填很久以前的坑. 旅行 给一棵 n 个点的基环树,求字典序最小的DFS序. n ≤ 5000 题解 O(n2) 做法非常显然,枚举断掉环上哪条边然后贪心即可.当然我去年的骚操作只能得88分. O(n ...

  6. 实用Golang库

    框架: 1. Golang轻量级并发服务器框架: zinx / https://www.jianshu.com/p/23d07c0a28e52. 国内谢大牛模仿django制作的重框架: beego3 ...

  7. centos7中,mysql连接报错:1130 - Host ‘118.111.111.111’ is not allowed to connect to this MariaDB server

    客户端连接报错 这个问题是因为用户在数据库服务器中的mysql数据库中的user的表中没有权限. 解决步骤 1.连接服务器: mysql -u root -p 2.看当前所有数据库:show data ...

  8. 题解 UVa11752

    题目大意 输出所有小于 \(2^{64}-1\) 的正整数 \(n\), 使得 \(\exists p, q, a, b\in \mathbb{N+}, p\neq q\rightarrow a^p= ...

  9. opencv图像处理之gamma变换

    import cv2 import numpy as np img=cv2.imread('4.jpg') def adjust_gamma(image, gamma=1.0): invGamma = ...

  10. javascript慕课入门

    1.javascript引用 html里引用: <script type="text/javascript"> ... ... </script> 引用外部 ...