Kubernetes详解(二十)——ReplicaSet控制器

2023-10-27

今天继续给大家介绍Linux运维相关知识,本文主要内容是ReplicaSet控制器。

一、ReplicaSet控制器概述

ReplicaSet控制器是Pod类控制器的一种实现,该控制器用于确保其管控的Pod对象副本数量在任意时刻都能够满足用户期望的数量。ReplicaSet控制器在启动后会自动查找集群中符合条件的Pod对象,并进行管理。ReplicaSet控制取代了Kubernetes集群中早期的ReplicationController控制器。ReplicaSet控制器能够实现以下功能:
1、确保Pod资源对象的数量符合期望值。根据期望值和当前值得差异,对Pod进行缩容或者扩容。
2、确保Pod健康运行。当检测到运行Pod资源对象的节点发生故障时,请求调度器在其他节点上创建Pod。
3、弹性伸缩。ReplicaSet控制器可以对Pod资源对象进行弹性的扩容或者缩容。必要时还可以通过HPA控制器实现Pod资源规模的自动伸缩。

二、ReplicaSet控制器核心字段

在资源清单中,ReplicaSet控制器的spec下的核心字段如下:
replicas: 指定期望的Pod副本的数量。
selector: 指定ReplicaSet控制器的标签选择器,支持matchLables和matchExpressions两种匹配机制。
template: 用于定义ReplicaSet控制的Pod资源对象的一些参数。
minReadySeconds: 用于定义Pod启动后多长时间为可用状态,默认为0秒,通过该参数设置时单位为秒。
我们可以使用命令来查看ReplicaSet控制器的一些参数,执行命令:

kubectl explain rs

可以查看ReplicaSet的核心字段,该命令执行结果如下:
在这里插入图片描述
执行命令:

kubectl explain rs.spec

可以查看ReplicaSet控制器下spec部分的字段,该命令执行结果如下:
在这里插入图片描述

三、ReplicaSet控制器资源清单创建

下面,我们就来通过资源清单的方式实际创建一个ReplicaSet控制器。创建ReplicaSet.yaml文件,并写入如下内容:

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: rs
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      demo: replicaset
      img: myapp
  template:
    metadata:
      name: rs-pod
      namespace: default
      labels:
        demo: replicaset
        img: myapp
    spec:
      containers:
      - name: rs-pod-myapp
        image: ikubernetes/myapp:v1
        ports:
        - name: http
          containerPort: 80

配置完成后的资源清单文件如下所示:
在这里插入图片描述
可以看出,在上述配置中,spec字段下的template字段定义了ReplicaSet控制器所控制的Pod的相关参数。因此在配置时一定要注意,ReplicaSet控制器的selector.matchLabels字段下的标签一定要和template下的Pod的标签一致。
完成上述配置后,我们执行命令:

kubectl apply -f ReplicaSet.yaml

开启ReplicaSet控制器,该命令执行结果如下:
在这里插入图片描述
完成后,我们查看一下我们的ReplicaSet控制器,执行命令:

kubectl get rs

该命令执行结果如下:
在这里插入图片描述
从上图中可以看出,我们的ReplicaSet控制器已经成功创建。之后,我们查看一下该ReplicaSet控制器控制的Pod,执行命令:

kubectl get pods

执行结果如下:
在这里插入图片描述
从以上命令的结果可以看出,我们通过资源配置清单创建ReplicaSet控制器成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes详解(二十)——ReplicaSet控制器 的相关文章

随机推荐

  • windows应急响应工具

    Webshell查杀 d盾 http www d99net net WEBDIR WebShell 扫描服务 OpenRASP 团队 https scanner baidu com pages intro 河马 https www shel
  • Telegram 查看下载保存的文件

    文章目录 Android 缓存文件 本地文件 Windows 缓存文件 本地文件 清理缓存 Android Windows Android 缓存文件 单纯的点下载或者图片 GIF 等的预览只会缓存到 Internal Storage sdc
  • [问题已处理]-mac安装cobra失败

    导语 今天在mac环境中没法成功安装cobra 记录一下避免以后踩坑 执行go get报错 更换安装方式 安装cobra cli go get u github com spf13 cobra latest go install githu
  • 最全最实用的 安装ESXi6及Linux虚拟机的创建教程

    ESXi的作为虚拟化环境的虚拟机管理程序层 负责将服务器虚拟成资源池 提供接口供管理组件调用 将下面的ISO刻录成光盘或可启动 盘 安装在服务器裸机上 安装过程 开机做好阵列 选择从安装介质启动 按F11继续 输入密码 rootroot 密
  • [QT编程系列-8]:C++图形用户界面编程,QT框架快速入门培训 - 3- QT窗体设计 - 自定义对话框

    目录 3 QT窗体设计 3 6 自定义对话框 3 6 1 种类 3 6 2 输入对话框 编辑 3 6 3 字体对话框 3 6 4 文件对话框 编辑 3 6 5 颜色对话框 3 6 6 输出对话框 编辑 3 6 7 进度条对话框 编辑 3 6
  • linux下编译内核时出现 scripts/basic/fixdep.c:206 等错误解决办法

    现象如下 下面是网上抄的 我本人是英文的 不方便看 就当下面是翻译的吧 大致信息如下 scripts basic fixdep c 300 警告 未使用的变量 s scripts basic fixdep c 在函数 print deps
  • AlarmManager实现定时功能

    实现定时间隔功能 1 发送 AlarmManager alarmService AlarmManager context getSystemService ALARM SERVICE Intent alarmIntent new Inten
  • js中[]、{}、()区别

    一 大括号 表示定义一个对象 大部分情况下要有成对的属性和值 或是函数体 表示对象 表示对象的属性 方法 如果用在方法名后面 代表调用 如 var LangShen Name Langshen AGE 28 上面声明了一个名为 LangSh
  • 状态机总结(简洁)

    一 概念 状态机简写为 FSM Finite State Machine 也称为同步有限状态机 我们一般简称为状态机 之所以说 同步 是因为状态机中所有的状态跳转都是在时钟的作用下进行的 而 有限 则是说状态的个数是有限的 状态机的每一个状
  • PCL1.12+VTK9.1+QT6编译部署

    本文讲解使用的环境是vs2019 pcl1 12 0 vtk9 1 qt6 0 最后再展示一个示例程序 1 编译VTK vtk下载地址如下 https vtk org download 然后用cmake构建 修改一下几个地方 然后打开生成的
  • 【解决】CentOS_7 usb安装盘制作,修改安装目录后依然dracut-initqueue timeout

    1 正常流程进centos install 报错dracut initqueue timeout 2 进入dracut时 cd dev ls grep sdb 没有文件 3 拔插U盘后 ls grep sdb 显示 sdb4 sdb 4 重
  • 教妹学Java(十三):if-else 语句详解

    大家好 我是沉默王二 一个和黄家驹一样身高 和刘德华一样颜值的程序员 本篇文章通过我和三妹对话的形式来谈一谈 if else 语句 教妹学 Java 没见过这么有趣的标题吧 语不惊人死不休 没错 本篇文章的标题就是这么酷炫 接受不了的同学就
  • ETL工具

    这些年 几乎都与ETL打交道 接触过多种ETL工具 现将这些工具做个整理 与大家分享 一 ETL工具 国外 1 datastage 点评 最专业的ETL工具 价格不菲 使用难度一般 下载地址 ftp ftp seu edu cn Pub D
  • 一步一步写STL:空间配置器 (1)

    侯捷说 追踪一流程序 并从中吸取养分 模仿着他写的程序 比那些自以为靠自己努力写出来的下三流程序价值高得多 至少我这么认为 世界上99 999 的程序 在STL面前都是下三流水平 侯捷老师这句话对STL的评价太高了 以前只是熟练使用STL
  • Tensorflow运行机制

    TensorFlow是一种基于数据流图的编程框架 它使用数据流图来描述计算过程 其中节点表示操作 边表示数据流 从而实现了高效的分布式计算和自动求导 在TensorFlow中 计算过程分为两个阶段 构建阶段和执行阶段 在构建阶段 我们使用T
  • 达梦数据库-分区表维护

    分区表的维护主要有增加分区 删除分区 交换分区 合并分区 拆分分区 1 增加分区 添加一个新的分区 2 删除分区 删除一个就分区 3 交换分区 将分区数据跟普通表交换 2张表结构必须一样 4 合并分区 将临近的两个分区合并为一个分区 目前仅
  • 绘图中的渐变

    绘图渐变 指的就是在指定区域内 指定开始位置到指定结束为止 一种颜色颜色逐渐变成另一种颜色的图 qt中的渐变分为三个类别 1线性类别 QLinearGradient 2 角度渐变 QConicalGradient 3 辐射渐变 QRadia
  • Android Studio 给方法添加注释自动生成参数的快捷设置

    没有废话 直接上图 Android Studio gt File gt Setting gt Keymap gt 发现框输入comment gt 选择Other的Fix doc comment 2 选择 Add keyboard short
  • Videos from Embedded Linux Conference 2014

    本文转载至 http free electrons com blog elc2014 videos As the summer is coming to an end we finally managed to publish the vi
  • Kubernetes详解(二十)——ReplicaSet控制器

    今天继续给大家介绍Linux运维相关知识 本文主要内容是ReplicaSet控制器 一 ReplicaSet控制器概述 ReplicaSet控制器是Pod类控制器的一种实现 该控制器用于确保其管控的Pod对象副本数量在任意时刻都能够满足用户