kubernets之Replication Controller
一 Replication Controller的介绍
pod可能会由于各种原因消失和多出来,例如node节点去除集群或者人为的手工创建,所以为了方便和管理pod的数量,k8s里面
的另外一种资源就应运而生,Replication Controller,它能够管理特定的pod的标签,使其动态保持一个数量,少了就会去创建,多了就会删除集群中的pod
始终保持集群中pod数量是一个自己定义的数量
二 Replication Controller的组成(后面部分都简称RC)
RC由三部分组成
- label selector 用于确定RC能够控制的pod的标签的范围
- replica count 副本个数,指定运行容器的数量
- pod template pod的模板,用于创建新的pod副本
三 以yaml的形式创建一个RC
3.1 配置文件内容如下
[root@node01 Chapter04]# cat kubia-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: kubia
spec:
replicas: 3
selector:
app: kubia
template:
metadata:
labels:
app: kubia
spec:
containers:
- name: kubia
image: luksa/kubia
ports:
- containerPort: 8080
3.2 创建RC
[root@node01 Chapter04]# k create -f kubia-rc.yaml
replicationcontroller/kubia created
[root@node01 Chapter04]# k get rc
NAME DESIRED CURRENT READY AGE
kubia 3 3 2 9s
[root@node01 Chapter04]# k get po
NAME READY STATUS RESTARTS AGE
kubia-cc6dg 1/1 Running 0 27s
kubia-dsc2x 1/1 Running 0 27s
kubia-liveness 1/1 Running 24 94m
kubia-liveness-delay 1/1 Running 17 64m
kubia-vz52m 1/1 Running 0 27s
3.3 经由RC管控的pod在被删除某个副本之后,RC会感知到数量已经不符合预期,会重新去拉取镜像创建pod,红色的是刚刚由RC最新创建的
[root@node01 Chapter04]# k get po
NAME READY STATUS RESTARTS AGE
kubia-cc6dg 1/1 Running 0 6m55s
kubia-dsc2x 1/1 Running 0 6m55s
kubia-vz52m 1/1 Running 0 6m55s [root@node01 Chapter04]# k delete po kubia-cc6dg
pod "kubia-cc6dg" deleted [root@node01 Chapter04]# k get po
NAME READY STATUS RESTARTS AGE
kubia-dsc2x 1/1 Running 0 8m22s
kubia-qgxvw 1/1 Running 0 80s
kubia-vz52m 1/1 Running 0 8m22s
3.4 RC完成通过标签来管控pod,也可以通过修改pod里面的标签,从而脱离RC的管控,甚至将pod从一个RC移动至另一个RC
[root@node01 Chapter04]# k get po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
kubia-dsc2x 1/1 Running 0 11m app=kubia
kubia-qgxvw 1/1 Running 0 4m49s app=kubia
kubia-vz52m 1/1 Running 0 11m app=kubia
[root@node01 Chapter04]# k label po kubia-qgxvw type=docker
pod/kubia-qgxvw labeled
[root@node01 Chapter04]# k get po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
kubia-dsc2x 1/1 Running 0 12m app=kubia
kubia-qgxvw 1/1 Running 0 5m39s app=kubia,type=docker
kubia-vz52m 1/1 Running 0 12m app=kubia
[root@node01 Chapter04]# k label po kubia-vz52m app=k8s --overwrite
pod/kubia-vz52m labeled
[root@node01 Chapter04]# k get po
NAME READY STATUS RESTARTS AGE
kubia-dsc2x 1/1 Running 0 13m
kubia-jqr8m 0/1 ContainerCreating 0 5s
kubia-qgxvw 1/1 Running 0 6m9s
kubia-vz52m 1/1 Running 0 13m
注意: 可以使用k edit rc rc_name来编辑rc的配置
3.5 修改pod的模板之后,原来的pod将不受到管控,并且删除之后RC将会产生新的pod里面也会和修改过后的模板保持一致
[root@node01 Chapter04]# k delete po --all
pod "kubia-dsc2x" deleted
pod "kubia-jqr8m" deleted
pod "kubia-qgxvw" deleted
pod "kubia-vz52m" deleted
[root@node01 Chapter04]# k get po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
kubia-27g4j 1/1 Running 0 99s app=kubia,version=v1.0
kubia-k7964 1/1 Running 0 99s app=kubia,version=v1.0
kubia-wn8wz 1/1 Running 0 99s app=kubia,version=v1.0
kubernets之Replication Controller的更多相关文章
- kubernetes进阶之五:Replication Controller&Replica Sets&Deployments
一:Replication Controller RC是kubernetes的核心概念之一.它定义了一个期望的场景即声明某种Pod的副本数量在任意时候都要符合某个预期值. 它由以下几个部分组成: 1. ...
- kubernetes 1.3管中窥豹- RS(Replica Sets):the next-generation Replication Controller
前言 kubernates 1.3出了几个新的概念,其中包括deployments,Replica Sets,并且官网称之为是the next-generation Replication Contr ...
- Replication Controller 和 Replica Set
使用Replication Controller . Replica Set管理Pod Replication Controller (RC) 简写为RC,可以使用rc作为kubectl工具的快速管理 ...
- Replication Controller、Replica Set
假如我们现在有一个Pod正在提供线上的服务,我们来想想一下我们可能会遇到的一些场景: 某次运营活动非常成功,网站访问量突然暴增 运行当前Pod的节点发生故障了,Pod不能正常提供服务了 第一种情况,可 ...
- kubernetes concepts -- Replication Controller
Edit This Page ReplicationController NOTE: A Deployment that configures a ReplicaSet is now the reco ...
- kubernetes in action - Replication Controller
理解这个问题,就是pods在Kubernetes中怎么进行failover 在Kubernetes的work node上有kubelet,会负责监控该work node上的pods,如果有contai ...
- Replication Controller
RC保证在同一时间能够运行指定数量的Pod副本,保证Pod总是可用.如果实际Pod数量比指定的多就结束掉多余的,如果实际数量比指定的少就启动缺少的. 当Pod失败.被删除或被终结时,RC会自动创建新的 ...
- Kubernets搭建Kubernetes-dashboard
接上篇文章,在已经部署好Kubernetes的基础上部署kubernetes-dashboard,它是官方提供的用户管理Kubernets集群可视化工具:部署dashboard其实和在kubernet ...
- kubernetes的Controller Manager
1. Controller Manager简介 Controller Manager作为集群内部的管理控制中心,负责集群内的Node.Pod副本.服务端点(Endpoint).命名空间(Namespa ...
随机推荐
- rman恢复实践
1) Loss of system DATAFILE 2) Loss of non-system DATAFILE 3) Loss of a DATAFILE without Backup 4) Lo ...
- MySQL数据库死锁分析
背景说明: 公司内部一套自建分布式交易服务平台,在POC稳定性压力测试的时候出现了数据库死锁.(InnoDB引擎)由于保密性,假设是app_test表死锁了. 现象: 发生异常:Deadlock fo ...
- Acunetix 11手动导入Burp suite抓取的网页
设置爬取 因为Burp的代理默认配置拦截所有请求,需要先来关闭这个功能,在Proxy标签页面中,选择Intercept子标签页面,点击 Intercept is on按钮. 使用配置好代理服务器的浏览 ...
- 安利一波这12个IDEA插件,太香了!
这里补充一下常用的插件, 非常值得安利一波! 1.日晒主题 Solarized Themes 推荐指数:☆☆☆☆☆ 推荐理由:日晒主题本身是为vim定制的.后来移植到ide 非常酷!配色非常耐看. ...
- Solr:Slor初识(概述、Windows版本的安装、添加IK分词器)
1.Solr概述 (1)Solr与数据库相比的优势 搜索速度更快.搜索结果能够按相关度排序.搜索内容格式不固定等 (2)Lucene与Solr的区别 Lucene提供了完整的查询引擎和索引引擎,目的是 ...
- Kubernetes学习笔记_尚硅谷
https://www.bilibili.com/video/BV1w4411y7Go?p=1 一.K8s介绍 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部 ...
- Python批量创建word文档(2)- 加图片和表格
Python创建word文档,任务要求:小杨在一家公司上班,每天都需要给不同的客户发送word文档,以告知客户每日黄金价格.要求在文档开始处给出banner条,价格日期等用表格表示.最后贴上自己的联系 ...
- 道高一丈,且看CWE4.2的新特性
摘要:CWE在今年2/24发布4.0,首次将硬件安全漏洞纳入了CWE中,6/25发布4.1, 8/20就发布了4.2. 1. 按照惯例,先说故事 我们先说下CWE的幕后老板--MITRE[1]. MI ...
- OJDBC版本区别
classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar,ojdbc7.jar的区别与差异 [转 原文:https://yq.aliyun.com/wenji/2 ...
- Qt学习笔记-Qt-4.8.6+phonon+mplayer
首先,用phonon播放音乐时,可以使用mplayer.首先,你的设备上需要安装一个mplayer并测试能用. 然后安装后端播放插件. 我用的是网上找的phonon-mplayer. 按照网上的方法, ...