k8s-RC副本机制
一、libeness probe的三种检测机制
- HTTP GET:对容器的IP(指定的端口和路径)执行HTTP GET请求,收到响应并返回状态码不代表错误(2xx/3xx),成功
- TCP socket:与容器指定端口建立TCP链接,建立链接成功,表示检测成功
- Exec:在容器内执行自定义命令,退出状态码是0,检测成功
二、liveness probe探测机制
- kubernetes会在容器崩溃或健康检测失败时(默认连续3次检测都失败,则认为检测失败)通过重启容器保持运行
- 当容器被强制终止时,会创建一个新的容器(而不是重启原来的容器)
- 探测附加属性:
delay(延迟):容器启动后延迟多久开始监控检测(务必设置一个合理的延迟时间,否则在容器进程为完全运行前,检测已经失败,导致容器进入重启死循环)
timeout(超时):容器的响应时间,超过设定值则超时
period(周期):间隔多久进行下一次检测
failure(失败):连续失败多少次后判定检测失败 - 检测的准确行:仅检测容器自身进程,(web前段正常,后端故障,重启前段无法恢复问题)
- 检测的轻量:资源消耗低、运行时间短(保证容器的轻量的同时不影响容器的运行质量)
- 健康检测重启pod是通过节点kubectl完成的(若节点故障则无法恢复)
四、ReplicationController(简称:RC)
- RC是一种资源,确保他的pod始终运行在期望的状态(用户指定的pod数量,即:几副本状态)
- RC会持续监控正在运行的pod列表
- 当RC的pod无论因何种数量发生变化,RC会根据模板新建,或删除一定数量的pod,已确保pod运行在期望的状态
- 通过RC可以实现pod的手动/自动伸缩
- label selector:标签选择器,用于确定RC作用域中有哪些pod(yml文件可以不指定,默认会根据pod的模板读取)
- replica count:副本数量,指定运行的pod数量
- pod template:pod模板,用于创建新的pod副本
六、RC的作用域
- RC通过作用域管理对应标签的pod
- 修改pod的标签后,pod将脱离RC的管控,当pod故障时不会重新被调度
- 注意:当修改pod的标签后,对RC本身无影响,他会重新创建出新的pod,直至达到预期状态
七、使用ReplicaSet(简称RS)代替RC
- ReplicaSet与RC的行为完全相同
- ReplicaSet可以仅通过标签的key匹配pod(RC必须匹配完整的标签:keyvalue)
- 修改ReplicaSet对现有的pod无影响,若想更新RS,可以删除现有的pod,RS会更具模板创建新的pod
八、更具表达力的标签选择器
- key:标签的名称
- operator:运算符:多个运算符可以一起使用,但是必须所有表达式都为true
1)In:label的值必须与其中一个指定的values匹配
2)NotIn:Label的值与指定的所有values都不匹配
3)Exists:只匹配key部分,使用次运算符时不指定values字段
4)DoesNotExist:匹配除指定key以外的所有key ,使用次运算符时不指定values字段 - values:标签的值
九、DaemonSet在每个节点运行一个pod
- DaemonSet的目的是用来运行系统服务
- 确保每个节点上运行一个pod
- 若有人在某一节点删除了一个pod,那么DaemonSet会在该节点重建pod
- 当新节点加入集群时,DaemonSet会立刻部署一个新的pod
- DaemonSet也可以只在集群中指定节点部署pod(由pod模板指定)
- 注意:在集群中可以设置节点的属性为“不可调用”,但是DaemonSet还是会在这些节点部署pod,因为DaemonSet不通过调度器进行调度
k8s-RC副本机制的更多相关文章
- k8s之list-watch机制、节点调度以及亲和性
k8s之list-watch机制.节点调度以及亲和性 目录 k8s之list-watch机制.节点调度以及亲和性 一.list-watch机制 1. list-watch介绍 2. list-watc ...
- HDFS副本机制&负载均衡&机架感知&访问方式&健壮性&删除恢复机制&HDFS缺点
副本机制 1.副本摆放策略 第一副本:放置在上传文件的DataNode上:如果是集群外提交,则随机挑选一台磁盘不太慢.CPU不太忙的节点上:第二副本:放置在于第一个副本不同的机架的节点上:第三副本:与 ...
- kafka副本机制之数据可靠性
一.概述 为了提升集群的HA,Kafka从0.8版本开始引入了副本(Replica)机制,增加副本机制后,每个副本可以有多个副本,针对每个分区,都会从副本集(Assigned Replica,AR)中 ...
- kafka4 副本机制
概述 每个分区有n个副本,可以承受n-1个节点故障. 每个副本都有自己的leader,其余都是follower. zk中存放分区的leader和 follower replica的信息.(get /b ...
- hdfs深入:03、hdfs的架构以及副本机制和block块存储
HDFS分布式文件系统设计目标 1. 硬件错误 由于集群很多时候由数量众多的廉价机组成,使得硬件错误成为常态 2. 数据流访问 所有应用以流的方式访问数 ...
- 深入理解 Kafka 副本机制
一.Kafka集群 二.副本机制 2.1 分区和副本 2.2 ISR机制 2.3 不完全的首领选举 2.4 最少同步副本 ...
- Kafka 学习之路(五)—— 深入理解Kafka副本机制
一.Kafka集群 Kafka使用Zookeeper来维护集群成员(brokers)的信息.每个broker都有一个唯一标识broker.id,用于标识自己在集群中的身份,可以在配置文件server. ...
- Kafka 系列(五)—— 深入理解 Kafka 副本机制
一.Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息.每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文 ...
- 大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)
一.HDFS 的设计思路 1)思路 切分数据,并进行多副本存储: 2)如果文件只以多副本进行存储,而不进行切分,会有什么问题 缺点 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处 ...
- C和C++中的副本机制
函数的形参.return 都有副本机制.数组没有副本机制 (为了节约内存) 函数形参和局部变量的生命周期.函数调用结束后就会被回收.
随机推荐
- 分析和研究Monkey Log文件
Log 在Android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 . 什么时候会有Log文件的产生 ...
- JQ js 对数组的操作
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...
- 前端Map封装源码
源于后台思路,简单封装了一下Map插件,方便以后使用. function Map() { this.elements = new Array(); //获取MAP元素个数 this.size = fu ...
- 软帝学院教你java命名规范法则
java命名规范法则大全 在我们在刚开始学习java的时候,给包.类.方法等命名的时候总是取名不规范,大多都是随便取的,对于一个专业的程序员来说.命名规范化也是必不可少的.命名规范的话能够在编码过程中 ...
- NOIP2018 旅行 和 赛道修建
填很久以前的坑. 旅行 给一棵 n 个点的基环树,求字典序最小的DFS序. n ≤ 5000 题解 O(n2) 做法非常显然,枚举断掉环上哪条边然后贪心即可.当然我去年的骚操作只能得88分. O(n ...
- 实用Golang库
框架: 1. Golang轻量级并发服务器框架: zinx / https://www.jianshu.com/p/23d07c0a28e52. 国内谢大牛模仿django制作的重框架: beego3 ...
- 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 ...
- 题解 UVa11752
题目大意 输出所有小于 \(2^{64}-1\) 的正整数 \(n\), 使得 \(\exists p, q, a, b\in \mathbb{N+}, p\neq q\rightarrow a^p= ...
- opencv图像处理之gamma变换
import cv2 import numpy as np img=cv2.imread('4.jpg') def adjust_gamma(image, gamma=1.0): invGamma = ...
- javascript慕课入门
1.javascript引用 html里引用: <script type="text/javascript"> ... ... </script> 引用外部 ...