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,一经查实,立即删除!

相关文章

代码随想录打卡—day28—【回溯】— 回溯基础练习 4.17+4.19

1 93. 复原 IP 地址 也是类似前一天的分割回文串。可以用我的字符之间0101的思路&#xff0c;也可以直接用[start_idx,i]选取子串的方法&#xff0c;选取后者&#xff0c;代码简洁一点&#xff1a; class Solution { public:vector<string> ans;string path;void dfs(i…

【Ansible】04

【Ansible】03 任务块 block任务块 使用 block 可以将多个任务合并为一个组可以将整个 block任务组 , 一起控制是否要执行 # 如果webservers组中的主机系统发行版是Rocky&#xff0c;则安装并启动nginx [rootpubserver ansible]# vim block1.yml --- - name: block tasksho…

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

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

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

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

Docker命令总结

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

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

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

RTT学习 开发环境搭建

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

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

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

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

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

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

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

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

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

从0到1带你玩转pandas

学习 pandas 的过程可以分为几个阶段&#xff0c;每个阶段都围绕着不同的核心技能和概念。下面是一个为初学者设计的学习大纲&#xff1a; 一. 基础介绍 学习如何安装和设置 pandas 以及了解它的基本概念是开始使用 pandas 进行数据分析的第一步。下面我将详细介绍这些步骤&am…

前端开发攻略---封装日历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&…

一个基于更新频率和卡片等级、浏览量的动态推荐排序算法

需求背景 真实场景会更复杂一些&#xff0c;下面抽象出一个简单的示例来举栗子&#xff1a; 比如现在有一个卡片列表&#xff0c;卡片自身有卡片的创建时间、卡片等级、浏览量几个关键字段。 如果单纯的根据卡片等级去排序&#xff0c;那么很容易导致一些高等级的旧卡片一直霸…

jsoncpp解析文件

背景&#xff1a;先用wireshark抓数据帧&#xff0c;过滤自己需要的之后转换为json文件&#xff0c;然后使用jsoncpp工具解析&#xff0c;获取其中有用的数据&#xff0c;最后把数据写入到文件中&#xff0c;之后分析数据或根据数据画图。 我分析的json文件格式如下&#xff0c…

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毫秒&…

Ubuntu搭建RP2040开发环境-1

Ubuntu搭建RP2040开发环境-1 2024-4-23 hongxi.zhu 前置依赖&#xff08;可选&#xff09; sudo apt-get install vim sudo apt-get install cmake sudo apt-get install libncurses-dev sudo apt-get install libssl-dev sudo apt-get install git一、下载SDK和编译链 下载SD…