kubernetes中的副本控制器rc(replicationcontrollers)和rs(replicasets)

一、rc控制器replicationcontrollers

        rc控制器就是控制相同pod副本数量

        使用rc控制器资源创建pod,设定创建pod资源的数量

1.1 案例

1.1.1、创建资源清单

[root@master rc-demo]# cat rc.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
  name: rc01
spec:
  replicas: 3 #控制要创建的副本数量
  selector:
    k8s: dolphin
  template:
    metadata:
      name: pod-01
      labels:
        k8s: dolphin
    spec:
      containers:
      - name: c1
        image: nginx
        ports:
        -  containerPort: 80
 

1.1.2、创建资源

[root@master rc-demo]# kubectl apply -f rc.yaml 

1.1.3、查看资源

1.1.4、删除资源

[root@master rc-demo]# kubectl delete -f rc.yaml 
replicationcontroller "rc01" deleted

1.1.5、总结

  • rc控制器创建的pod是按照标签进行父辈数量控制的;
  • rc控制器资源创建的pod,直接删除pod,还会重新拉起,只有删除rc资源,pod才会消失
  • 修改rc资源,需要重新编辑rc资源清单,再次apply就可以修改了

1.2 rc控制器实现资源业务的升级与回滚

1.2.1 创建2个镜像的版本

第一个镜像

[root@master rc-demo]# cat Dockerfile 
FROM nginx:1.20.1-alpine

RUN echo  rc-v1 >  /usr/share/nginx/html/index.html

CMD   ["/usr/sbin/nginx", "-g", "daemon off;"]
 

[root@master rc-demo]# docker build -t dolphinc/nginx:v1 .
[root@master rc-demo]# docker push dolphinc/nginx:v1
 

第二个镜像

[root@master rc-demo]# cat Dockerfile 
FROM nginx:1.20.1-alpine

RUN echo  rc-v2 >  /usr/share/nginx/html/index.html

CMD   ["/usr/sbin/nginx", "-g", "daemon off;"]
 

[root@master rc-demo]# docker build -t dolphinc/nginx:v2 .
[root@master rc-demo]# docker push dolphinc/nginx:v2

1.2.2 编辑资源清单

[root@master rc-demo]# cat rc.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
  name: rc-nginx
spec:
 
  replicas: 3 #控制pod的副本数量
  selector: 
    k8s: dolphinc-rc
  #下面就是你要控制的pod了(就是pod资源的编辑);
  template:
    metadata:
      name: pod-nginx
      labels:
        k8s: dolphinc-rc
    spec:
      containers:
      - name: c1
        image: dolphinc/nginx:v1
        ports:
        - containerPort: 80
        command: 
        - "nginx"
        - "-g"
        - "daemon off;"
---
#编辑service资源用于外部访问
apiVersion: v1
kind: Service
metadata:
  name: svc-rc-nginx
spec:
  type: NodePort
  selector:
    k8s: dolphinc-rc
  ports:
  - port: 88
    targetPort: 80
    nodePort: 30001
 

1.2.3 创建资源

[root@master rc-demo]# kubectl apply -f rc.yaml 

1.2.4 查看资源

1.2.5 访问资源

1.2.6 修改rc.yaml 更换镜像

[root@master rc-demo]# cat rc.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
  name: rc-nginx
spec:
 
  replicas: 3 #控制pod的副本数量
  selector: 
    k8s: dolphinc-rc
  #下面就是你要控制的pod了(就是pod资源的编辑);
  template:
    metadata:
      name: pod-nginx
      labels:
        k8s: dolphinc-rc
    spec:
      containers:
      - name: c1
        image: dolphinc/nginx:v2
        ports:
        - containerPort: 80
        command: 
        - "nginx"
        - "-g"
        - "daemon off;"
---
#编辑service资源用于外部访问
apiVersion: v1
kind: Service
metadata:
  name: svc-rc-nginx
spec:
  type: NodePort
  selector:
    k8s: dolphinc-rc
  ports:
  - port: 88
    targetPort: 80
    nodePort: 30001

1.2.7 重新执行创建资源命令

[root@master rc-demo]# kubectl apply -f rc.yaml 

 1.2.8 删除原有Pod(自动拉取新的pod)

[root@master rc-demo]# kubectl delete pods --all

 1.2.9 再次访问资源(升级迭代完成)

1.2.10 回滚操作

将版本号替换为v1删除pod,重新执行命令就回滚了,跟上述升级迭代操作一样

二、rs资源控制器replicasets

跟rc几乎一样,区别就是你支持标签匹配pod,也支持标签表达式

写法区别如下,一般很少用到这种写法,用的多的都是matchLabels标签匹配,了解即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人搭建alist网盘的经验记录备忘

1、搭建宝塔LINUX面板,安装Docker 2、添加仓库 3、从镜像拉取xhofe/alist:latest 4、添加容器 5、新建一个网站,别忘记申请个SSL证书,重要的是反向代理 6、新建个mysql数据库 7、修改alist数据库的链接地址,方便自己备份&a…

如何有效地进行汽车制造业文件共享,一文了解

随着数字化转变,企业的业务文件大多通过电子形式在内外部流转。这增加了外发文件数据泄露或被篡改的风险,如何保护外发文件安全已成为企业不容忽视的课题。其中汽车制造业是一个高度依赖文件共享与协作的行业,涉及设计图纸、技术文件、供应链…

Docker命令总结

一.Docker常用命令总结 1.镜像命令管理 指令描述ls列出镜像build构建镜像来自Dockerfilehistory查看历史镜像inspect显示一个或多个镜像的详细信息pull从镜像仓库拉取镜像push推送一个镜像到仓库rm移除一个或多个镜像prune一处未使用的的镜像,没有被标记或被任何容…

【用户投稿】Apache SeaTunnel 2.3.3+Web 1.0.0版本安装部署

项目概要 Apache SeaTunnel 是一个分布式、高性能、易扩展的数据集成平台,用于实时和离线数据处理,支持多种数据源之间的数据迁移和转换。 其中,Apache-seatunnel-web-1.0.0-bin.tar.gz和apache-seatunnel-2.3.3-bin.tar.gz代表了 Apache SeaTunnel Web…

RTT学习 开发环境搭建

添加文件到工程 BSP下的applications文件夹用于存放用户自己的应用代码,目前只有一个main.c文件,如果用户的应用代码不是很多,建议相关源文件都放在这个文件夹下面,在applications文件夹下新增两个简单的文件hello.c和hello.h。 …

什么是正向代理和反向代理

正向代理和反向代理是两种不同的代理服务器配置方式,它们在代理的方向和作用上有所不同。 一、正向代理(Forward Proxy) 代表客户端发送请求到其他服务器的代理服务器。客户端将请求发送给正向代理服务器,然后由正向代理服务器代…

如何使用OSI七层模型的思路进行Linux网络问题排障?

在运维工作中,我们可能经常遇到诸如服务器无法远程连接、网站无法访问等各种网络问题。此时你是否想过,我们常背的OSI七层模型,能在处理这样的实际问题中发挥什么样的作用呢? 基于OSI架构的方法论,我们可以使用自下而…

ATFX汇市:欧元区和美国的制造业PMI将发布,市场预期乐观

ATFX汇市:今日16:00,市场研究机构Markit将发布欧元区4月制造业PMI初值,前值为46.1,预期值46.6,预期将增加0.5个百分点。历史数据看,最近三个月,欧元区的制造业PMI均处于较高水平,期间…

Springboot+Vue项目-基于Java+MySQL的房屋租赁系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

前端开发攻略---封装日历calendar组件(纯手搓),可以根据您的需求任意改变,可玩性强

1、演示 2、代码 <template><div class"box" v-if"startMonth.year"><div class"left"><div class"top"><span class"iconfont" click"changeMonth(-1)">左</span><span&…

Python学习从0开始——项目一day02数据库连接

Python学习从0开始——项目一day02数据库连接 一、在线云数据库二、测试数据库连接三、数据库驱动介绍四、SQL执行4.1插入测试数据4.2安装数据库连接模块4.3测试SQL语句执行4.4执行SQL的固定步骤及示例 一、在线云数据库 找了一个在线数据库&#xff0c;需要邮箱注册&#xff…

甄美天使1+3退休模式开发|最新升级模式

我是新零售商业架构师肖琳&#xff0c;易创客社交新零售创始‌‌‌‌‌人&#xff0c;擅长品牌从0-1、1-10起盘全过程。易创客新零售&#xff0c;提供商业模式解决方案系统&#xff0c;包括分销系统、微商系统、新零售系统&#xff1b;提供社交新零售陪跑代运营&#xff0c;提供…

Uds的0x10服务

0x10为诊断会话控制&#xff0c;该服务下有三种子功能&#xff0c;分别为默认会话&#xff0c;扩展会话&#xff0c;编程会话。 如果长时间在非默认会话下&#xff0c;没有用诊断仪跟ECU通讯&#xff0c;那么ECU会调回或者是返回到默认会话下。一般UDS协议上推荐是5000毫秒&…

云原生的基石:containerd引领未来容器发展趋势

文章目录 一、Containerd简介&#xff1a;容器技术的心脏二、Containerd核心原理解析三、Containerd与Docker的关系四、Containerd在云原生应用部署中的作用五、Containerd的扩展性和插件机制六、Containerd的安全特性七、Containerd的性能优化八、Containerd的社区和生态系统九…

C++面向对象程序设计 - 运算符重载

函数重载就是对一个已有的函数赋予新的含义&#xff0c;使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数&#xff0c;也就是一名多用。运算符也可以重载&#xff0c;即运算符重载&#xff08;operator overloading&#xff09;。 一、运算符重载的方法 运算符重…

indexDB 大图缓存

背景 最近在项目中遇到了一个问题&#xff1a;由于大屏背景图加载速度过慢&#xff0c;导致页面黑屏时间过长&#xff0c;影响了用户的体验。从下图可以看出加载耗时将近一分钟 IndexDB 主要的想法就是利用indexDB去做缓存&#xff0c;优化加载速度&#xff1b;在这之前&am…

在选择试验台底座时,应注意哪些问题——河北北重

在选择试验台底座时&#xff0c;应注意以下几个方面&#xff1a; 底座尺寸和承载能力&#xff1a;底座的尺寸和承载能力应与试验台的尺寸和所需承载的设备重量相匹配&#xff0c;确保底座能够稳定承载试验台和设备。 材料和质量&#xff1a;底座的材料应具有足够的强度和耐久性…

软件测试之【合理的利用GPT来辅助软件测试一】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言GPT的原理及技巧GPT辅助接口自动化测试 前言 在编程基础栏目中&#xff…

Kafak详解(1)

简介 消息队列 为什么要有消息队列 图-1 消息队列的使用 消息队列 1)消息Message&#xff1a;网络中的两台计算机或者两个通讯设备之间传递的数据。例如说&#xff1a;文本、音乐、视频等内容。 2)队列Queue&#xff1a;一种特殊的线性表(数据元素首尾相接)&#xff0c;特…