Kubernetes-ReplicationController(RC)
2021-04-10 03:33
标签:select action esc code 失败 列表 upload 停止 使用 ??ReplicationController(副本控制器)是一种k8s资源,确保它的pod始终保持运行状态。它是用于复制和在异常情况下重新调度节点的k8s组件。 1)RC可以确保一个pod(或多个pod副本)持续运行,在现有pod丢失时可以启动新的pod; 1)label selector(标签选择器),用于确定RC作用域中有哪些pod;(其更改后,RC会停止关注这些现有的pod) 写好yaml文件: pod模板:spec.template by k8s in action 创建RC命令 RC对pod数量不足时(API Server允许客户端监听资源和资源列表的更改),产生响应:通过创建一个新的替代pod来响应pod的删除操作, 查看RC命令 更改pod选择器 查看pod指定标签信息 注意 ??更改RC的pod模板只会影响之后创建的pod,并且不会影响现有的pod。 删除RC及其管理的pod 删除RC,保留pod Kubernetes-ReplicationController(RC) 标签:select action esc code 失败 列表 upload 停止 使用 原文地址:https://www.cnblogs.com/Andya/p/12434497.html1 介绍
1.1 概念
1.2 优点
2)集群节点发生故障时,RC为其上面的pod(受RC控制的节点上的pod)创建替代副本;
3)轻松实现pod的水平伸缩。2 RC工作原理
2.1 RC工作图
??RC会持续监控正在运行的pod列表,并保证相应的“类型”的(标签选择器)pod数目与期望的相符。如果正在运行的pod数目小于期望值,则RC会根据pod模板创建新的副本;若正在运行的pod太多,RC将会删除多余的副本。2.2 RC组成
2)replica count(副本个数),指定应运行的pod数目;(其更改后会影响到现有的pod)
3)pod template(pod模板),用于创建新的pod副本。(其更改后,只会影响新创建的pod)3 RC使用
3.1 创建RC
$ kubectl create -f xxx.yaml
3.2 查看RC
$ kubectl get rc
rc是replicationcontroller的简写;
查看RC附加信息$ kubectl describe rc rc_name
3.3 更改已托管的pod标签
$ kubectl label pod pod_name app=app_new_name --overwrite
通过--overwrite
覆盖原标签信息$ kubectl get pods -L app
通过-L app
选项在列表中显示app标签
若更改了RC的标签选择器(而不是更改pod的标签),则会造成所有的原RC控制的pod脱离RC管理,RC会创建新的pod来匹配新的标签选择器。3.4 修改RC的pod模板
RC扩容
方法1:$ kubectl scale rc rc_name --replicas=5
方法2:$ kubectl edit rc rc_name
更改spec.replicas键的值
第一种是命令式,第二种是声明式。
声明式
声明式是指定了期望的状态,相比较于命令式而言。
1)命令式是指需要step-by-step的编写命令或脚本,需要设想目标环境的各种情况,处理各种边缘问题,脚本在不同的环境里运行可能会产生不同的结果。不具备事务性,脚本执行过程中出现意外时,可能就会出现中间状态。
2)声明式是使用配置文件直接描述最终状态,不必考虑流程和目标环境的各种细节,这种方式便于文档化和版本管理,重复部署不会产生不一致的结果,在不同的目标环境下也是可以产生一致的部署结果。具备事务性,要么成功,要么失败。3.5 删除RC
$ kubectl delete rc rc_name
$ kubectl delete rc rc_name --cascade=false
通过--cascade=false
保证RC的pod不受管理
上一篇:php增删改查
文章标题:Kubernetes-ReplicationController(RC)
文章链接:http://soscw.com/index.php/essay/73616.html