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标签匹配,了解即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

刘月红女士:医药行业三十年砥砺前行,助力斐尔玫瑰妇科诊所共创辉煌

在医药行业历经三十载风雨的刘月红女士,以其丰富的经验和深刻的行业洞察力,为医药行业的稳健发展作出了积极的贡献。从医药零售到医药批发,再到开设中医诊所,以及为各大医院提供药品供货,刘月红女士的足迹遍布医药领域…

Linux 存储:NAND 写入异常案例 (1)

文章目录 1. 前言2. 案例背景3. 案例问题4. 案例分析4.1 普通文件写入流程概要4.2 dd 写 NAND 时,会不会使用 page cache ?4.3 dd 写 NAND 时,对比 U-Boot 读 NAND,是否采用了相同的坏块策略 ?4.3.1 U-Boot 读 NAND 过…

纽扣电池卖家注意!美国纽扣电池UL4200A标准更新

2023年9月21日,美国消费品安全委员会CPSC(Consumer Product Safety Commission) 决定采用UL 4200A-2023(包含纽扣电池或硬币电池的产品安全标准)作为包含纽扣电池或硬币电池的消费品的强制性消费品安全规则,相关要求同时被编入到1…

MultiCD工具:创建一个多引导Linux USB驱动器

众所周知,拥有一个可安装多个可用操作系统的 CD 或 USB 驱动器在各种情况下都非常有用。无论是为了快速测试或调试某些内容,还是只是重新安装笔记本电脑或 PC 的操作系统,这都可以为你节省大量时间。 在本文中,将介绍如何使用名为…

linux,从零安装nginx,并且部署vue应用程序

前言:系统使用龙蜥(8.5)的最小化安装,服务器安装这里不在赘述。 nginx 的版本:1.22.0 软件已经放在系统/home/software/ 一、安装nginx 进入路径/home/software/ 1》执行命令:rpm -ivh nginx-1.22.0-1.el7…

GDC 笔记

1 Title Diffusion Improves Graph Learning(Johannes Gasteiger, Stefan Weienberger, Stephan Gnnemann)【NeurIPS 2019】 2 Conclusion This study removes the restriction of using only the direct neighbors by introducing a powerful, yet spa…

OpenLayers6实战,OpenLayers实现鼠标拖拽方式绘制环形(四分之一圆环),OpenLayers特殊图形绘制

专栏目录: OpenLayers6实战进阶专栏目录 前言 本章讲解如何使用OpenLayers在地图上实现鼠标拖拽方式绘制环形(四分之一圆环)的功能。 环形是一种由两个弧线和连接线组成的特殊图形,实现起来是有一定难度的。 二、依赖和使用 "ol": "^6.15.1"使用npm…

Canal1--搭建Canal监听数据库变化

1.安装mysql 默认安装了mysql(版本8.0.x); 新创建用户 -- 创建用户 用户名:canal 密码:Canal123456 create user canal% identified by Canal123456;授权 grant SELECT, REPLICATION SLAVE, REPLICATION CLIENT on…

算法库应用-有序单链表插入节点

学习源头: 模仿贺利坚老师单链表排序文章浏览阅读5.9k次。  本文针对数据结构基础系列网络课程(2):线性表中第11课时单链表应用举例。例:拆分单链表 (linklist.h是单链表“算法库”中的头文件,详情单击链接…)//本程…

前端通过http请求访问本地图片

1、前端直接引用本地图片,图片加载失败 具体报错信息如下: Not allowed to load local resource不允许加载本地资源 2、针对以上问题,只需要利用拦截器将本机地址映射成url路径就行 具体代码如下 Configuration public class FileConfig i…

Android Studio实现内容丰富的安卓校园超市

获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 项目代号168 1.开发环境 后端用springboot框架,安卓的用android studio开发 android stuido3.6 jdk1.8 idea mysql tomcat 2.功能介绍 安卓端: 1.注册…

区块链 | OpenSea:Toward Achieving Anonymous NFT Trading 一文的改进方案

🥑原文: Toward Achieving Anonymous NFT Trading 🥑吐槽: 这论文怎么老有描述不清、前后不一致的地方😇 正文 在本节中,我们将具体展示我们方案的构建。我们将基于一个示例来描述我们方案的工作流程&…

如何快速完成手头工作 待办工作的处理技巧

作为忙碌的上班族,我们每天都要处理大量的工作任务。面对堆积如山的工作,稍有不慎,就可能导致任务的延误甚至遗忘。想象一下,在紧张而忙碌的一天结束时,突然发现一个重要的报告还未完成,或者忘记了一个关键…

Python从0到100(十五):函数的高级应用

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

【ARFoundation自学01】搭建AR框架+检测平面+点击克隆立方体到地面=自信入门!

介绍 AR 的功能其实是个大手机系统厂商和眼镜设备厂商开发的功能,并不是Unity的功能,毕竟Unity没有自己的手机设备!比如谷歌公司的安卓开发了ARcore,让所有安卓8.0版本以上的用户能够在手机上体验AR功能!苹果推出了AR…

token逆向和简单的字体解密

一、token加密部分 网址:aHR0cHM6Ly9qenNjLmpzdC56ai5nb3YuY24vUHVibGljV2ViL2luZGV4Lmh0bWwjLw 点开查询的xhr的包,发现headers中含有token这一加密参数。 直接跟栈,很容发现在第三个栈加密。 s Object(L.b)(l).toString(),由…

VASA-1:一键生成高质量视频,颠覆你的想象!

VASA-1:语音生成AI视频 前言 最近,微软公司公布了一项图生视频的 VASA-1 框架,该 AI 框架只需使用一张真人肖像照片和一段个人语音音频,就能够生成精确逼真的相对应文本的视频,而且可以使表情和面部动作表现的十分自然…

Dubbo应用可观测性升级指南与踩坑记录

应用从dubbo-3.1.*升级到dubbo-*:3.2.*最新稳定版本,提升应用的可观测性和度量数据准确性。 1. dubbo版本发布说明(可不关注) dubbo版本发布 https://github.com/apache/dubbo/releases 【升级兼容性】3.1 升级到 3.2 2. 应用修改点 应用一般只需要升级dubbo-s…

Windows 的常用命令(不分大小写)

Net user (查看当前系统所有的账户) net user yourname password /add 添加新用户 net localgroup administrators yourname /add 添加管理员权限 net user yourname /delete 删除用户 net user 命令 [colorred]说明:以下命令仅限持管理员…

CentOS 7安装、卸载MySQL数据库(一)

说明:本文介绍如何在CentOS 7操作系统下使用yum方式安装MySQL数据库,及卸载; 安装 Step1:卸载mariadb 敲下面的命令,查看系统mariadb软件包 rpm -qa|grep mariadb跳出mariadb软件包信息后,敲下面的命令…