K8s: 控制器之ReplicaSet对象

k8s 控制器:Replicaset 和 Deployment k8s Deployments 阅读详情

ReplicaSet 控制副本


1 ) 概述

  • pod 是一个无状态的,并且可以被任意的按需的调度,在各个work node上运行的组件

  • 谁来控制这类调度就变得非常复杂,不可能去手工的去维护某一个pod的一个运行实例

  • 如果那样的话呢,它就失去了容器的概念,就会像一个虚拟机一样去运行

  • K8s中提供了 controller 这个概念,对于副本管理来说,有两种

    • 一种是 Replica Set (RS) 副本控制器
    • 一种是 Replication Controller(RC)已经不推荐使用了
    • 都是用于确保集群中特定数量的 Pod 副本始终运行的服务
    • Replica Set 是对 Replication Controller 的改进和升级,具备更强大的获取标签label功能
    • 新版本中推荐用 Deployment 来控制 ReplicaSet,用 ReplicaSet 控制pod副本数量
  • Replica Set

    • 它是维护在任何时候都处于运行状态pod副本的一个稳定集合
    • 通常它是用来保证给定数量和完全相同的pod的一个可用性
    • 可以认为它是一个管理员,要保证集群的pod的数量是一个稳定的
    • 比如设定了3个副本的nginx, 如果你主动销毁一个副本,它会自动新建一个补充
  • RS 可以独立使用,但是也可以被 Deployment 用来协调

2 )应用

  • 新建 rep-nginx.yaml

    apiVersion: apps/v1
    kind: ReplicaSet
    metadata:
      name: rep-nginx
    spec:
      replicas: 3
      selector: # 选择器选择的是 满足 app: rep-nginx 的 pod
        matchLabels:
          app: rep-nginx
      template: # 这里的模板就是创建一系列的 pod
        metadata:
          name: rep-nginx
          labels:
            app: rep-nginx
        spec:
          containers:
          - name: rep-nginx
            image: nginx
            ports:
            - containerPort: 80
    
  • $ kubectl apply -f rep-nginx.yaml 创建副本

    replicaset.apps/rep-nginx created
    
  • $ kubectl get all

    NAME                  READY   STATUS    RESTARTS   AGE
    pod/rep-nginx-k6k8g   1/1     Running   0          2m16s
    pod/rep-nginx-sh969   1/1     Running   0          2m16s
    pod/rep-nginx-tcrsb   1/1     Running   0          2m16s
    
    NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
    service/kubernetes   ClusterIP   10.1.0.1     <none>        443/TCP   6d
    
    NAME                        DESIRED   CURRENT   READY   AGE
    replicaset.apps/rep-nginx   3         3         3       2m17s
    
  • 这时候开两个 bash窗口, 来监控运行

    • $ kubectl get po -w 这个窗口一直做监控,命名窗口为A窗口
    • $ kubectl delete pod/rep-nginx-tcrsb 这个窗口删除一个pod, 命名窗口为B窗口
  • 我们可以在A窗口这个监控窗口中看到

    • 之前被删除的pod的状态是立即变成: Terminating
    • 并且同时有一个新的pod被创建出来,状态为: Pending -> ContainerCreating -> Running 的变化
  • 回到B窗口中运行 $ kubectl get po 发现依旧是 3个 pod

  • 这个说明副本控制器就是一直在工作来维持副本运行的稳定性

K8S基本原理-Kubernetes核心知识点介绍-节点、对象与控制器 一、Kubernetes集群节点 K8S管理是一个集群,节点分为Masters管理节点和Nodes运行节点。 Master是控制平面,一般只有一个执行,布置多个是为了在当前管理节点挂掉后可以立即启动另一个Master继续工作。 Nodes是数据平面,他们之间是负载均衡的,各Node同时工作,当某个Node挂掉时,任务会自动分配给其他Node。 二、K8S的Master节点 Master节点分为以下四个部分(上图蓝色包含的四个部分): APIServer:所有服务访问的统一入口,接受客户端请求 Sched 阅读详情

相关推荐

k8s之控制器

控制器也是管理pod的一种手段自主式pod:pod退出或意外关闭后不会被重新创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。

hotslow的博客 924

五阶段--Kubernetes运用

一 K8s 三个核心对象 1. Pod -- 包含多个docker容器 K8s 对Docker 容器的封装对象 (容器) 对Docker容器进行自动管理,控制 Pod对底层容器化技术进行解耦--该技术包括docker和containerd 2. 控制器 自动部署容器的工具--只需要指定部署容器的数量,它就会帮助创建部署 3.Service 对容器提供一个固定不变的访问地址 用户访问service地址,service会把请求进行转发到容器 二 初步尝试 kubernete...

weixin_58580280的博客 2081

【K8S系列】深入解析 ReplicaSet

Kubernetes ReplicaSet 是 Kubernetes 中的一个重要组件,它用于确保指定数量的 Pod 副本正在运行。在本节中,我们将深入探讨 Kubernetes ReplicaSet 的一些关键特性和使用方法。

颜淡慕潇 4万+

K8s 中 Pod 和 Deployment 到底啥关系?搞不懂这俩,别说你玩转了 K8s

这篇文章深入浅出地解释了Kubernetes中Pod和Deployment的区别与联系。Pod是最小部署单元,负责运行容器但缺乏自愈能力;Deployment作为控制器管理Pod,提供自愈、滚动更新和扩缩容等核心功能。文章通过实用命令、架构图示和常见误区分析,帮助读者理解二者的层级关系(Deployment→ReplicaSet→Pod),并强调生产环境应始终使用Deployment部署应用。文中还包含版本差异提示(kubectl run行为变化)和进阶参数优化建议(progressDeadlineSeco

kguogao的博客 387

k8s中控制器使用详解

k8s控制器

congge 7336

正负数据如何归一化_生信干货 | LC-MS代谢组学QI软件下机数据代谢物筛选和归一化如何做?...

上海·2019第一届多层组学前言技术发展华东区客户研讨会倒计时1天LC-MS非靶向代谢组学数据下机啦~~拿到一堆数据怎么办?不会高端代码,也不会自己写脚本,我怎么处理数据?​本期小编带来了LC-MS非靶向代谢组学下机数据处理实用干货,包括:下机定性结果表格的解析、代谢物筛选如何做?以及定量数据如何做归一化?实用干货,赶紧来抢~~话不多说,赶紧来学习吧~~非靶向LC-MS代谢组学的分析流程LC-MS...

weixin_36441329的博客 2984

Kubernetes k8s概念介绍(工作节点Node、Pod最小调度单元、ReplicaSet副本集、StatefulSet有状态应用、Ingress入口、ConfigMap、PVC)k8s参数

Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。它最初由 Google 开发,现由 CNCF(云原生计算基金会)维护。K8s 是管理容器集群的操作系统。调度(Scheduling):Pod 如何运行网络(Networking):服务如何访问存储(Storage):数据如何持久化控制(Control):如何保持期望状态Kubernetes 本质上是一个“声明式系统”:你只需要描述“你想要什么状态”,系统会自动帮你实现。

Dontla的博客 603

R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)、使用plot函数可视化训练好的条件推理决策树、条件推理决策树的叶子节点的阴影区域表

R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)、使用plot函数可视化训练好的条件推理决策树、条件推理决策树的叶子节点的阴影区域表示的是阳性样本的比例

data+scenario+science+insight 1226

(2)k8s基础组件

k8s基础组件 1、组件架构 主要分为三大模块: a、master b、node c、addons(附加组件) 2、基础对象 如:Pod,Service,NameSpacke,Volume 3、控制器 控制器(Controllers)是一组建立在基础对象之上的抽象,提供更丰富的功能; 如:ReplicaSet,Deployment,DaemonSet,St...

zhangsq1319 335

Swin Transformer注意力计算复杂度为何比全局注意力少那么多?

本文对比分析了Vision Transformer(ViT)和Swin Transformer的计算复杂度。ViT采用全局注意力机制,计算复杂度为4[hwc^2]+2[(hw)^2C],当图像尺寸较大时计算量显著增加。而Swin Transformer采用窗口注意力机制,将图像划分为M×M的窗口(如7×7),计算复杂度降为4[hwc^2]+2[(hw)(M*M)*C]。以224×224图像为例,Swin Transformer的计算量比ViT减少约900倍,大幅节省了计算资源。文章通过矩阵乘法运算详细推导了

人工智能研究所的博客 63

5G RF前端架构为什么越来越复杂?从8天线、MIMO、ET、DRX到ACLR/EVM彻底拆开

AdjacentChannelLeakageRatioAdjacentChannelLeakageRatio主信道的功率,有多少泄漏到了隔壁Channel。ACLRPAdjacentPMainACLR=ACLRPMain​PAdjacent​​通常以dBc表达。

weixin_43199439的博客 47

5分钟全面认识 K8s:Deployment 详解

*

weixin_66406396的博客 261

使用rknn进行facenet部署

修改facenet网络的forward函数代码。

如果想成为中心,那么就到中心去吧。 1046

从零理解Kubernetes三大核心对象:Pod、Deployment、Service

本文系统介绍了Kubernetes核心组件及其工作原理。首先阐述了Pod作为最小部署单元的特性,包括其共享网络空间、生命周期管理和探针机制。然后详细讲解了Deployment如何通过ReplicaSet实现无状态应用的副本管理、滚动更新和回滚功能。接着分析了Service作为服务发现和负载均衡的关键组件,解释了其四种类型及工作原理。文章还深入探讨了Kubernetes扩展机制,包括CRI容器运行时接口、CNI网络插件标准和CSI存储接口规范。最后介绍了高级调度策略和ServiceMesh服务网格技术,为构建

油墨香^-^的博客 775

MATLAB 车牌识别系统

车牌识别系统利用计算机视觉和图像处理技术,自动识别车辆牌照上的字符信息。本系统基于 MATLAB 实现车牌识别,包括图像预处理、车牌定位、字符分割、字符识别等模块。车牌识别系统是实现智能交通和公共安全的重要手段,具有广泛的应用前景。MATLAB 提供了丰富的工具和函数,可以方便地进行算法仿真和系统开发。

走向CTO的路上... 765

[企业AI落地] RAG 知识库系统在多租户环境下的细粒度权限隔离设计

多租户 RAG 系统真正的风险不只是搜不到,而是把不该看到的内容查出来、说出来、写回去。本文结合多客户售后知识助手场景,用元数据结构、向量检索过滤、回答策略和审计回写示例拆解租户、资源、检索、生成、审计五层权限边界。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 222

K8s问答题(二)

答案:Deployment控制器通过管理ReplicaSet控制器来工作,并向 Pod 提供声明式的更新以及许多其它有用的功能,常见的用途是不停机更新,在需要对应用进行维护与升级时,直接创造新的具有升级后应用的Pod,接入连接的用户,直到以前Pod里旧容器的用户全部退出时,将旧的容器进行销毁,就完成了不中断服务的更新。答案:ReplicaSet是复制集,可以生成多个Pod的副本,目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合,用来保证给定数量的,完全相同的Pod的可用性。

zl3488977451的博客 346

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

K8s控制器

无头服务:没有IP如果cpu用的比较满,那么cpu比较紧张,会缩容。

2301_81865838的博客 794

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

K8s控制器Replicaset

实际生产环境一般采用蓝绿发布,原来有一个rs1,再创建一个rs2(控制器),通过修改service标签,修改service可以匹配到rs2的控制器,这样才是蓝绿发布,这个也需要我们精心的部署规划,我们有一个控制器就是建立在rs之上完成的,叫做Deployment。template: pod资源模板:如果集群中现存的pod数量不够我们定义的副本中期望的数量怎么办,需要新建pod,这就需要pod模板,新建的pod是基于模板来创建的;手动杀死一个pod,让其重新生成pod,镜像地址也换成新的了。

abcy071213的博客 823

Kubernetes:控制器 - ReplicaSet

Kubernetes:控制器 - ReplicaSet

weixin_46619605的博客 984

【K8s】专题四(3):Kubernetes 控制器之 ReplicaSet

Kubernetes 专题 - 控制器之 ReplicaSet

运维、实施交付领域知识交流 994

K8S中Pod控制器之ReplicaSet(RS)控制器

在Kubernetes中,Pod是最小的管理单元,用于运行容器。自主式Pod(Stateless Pods):这些Pod是直接由用户或管理员创建的,通常是通过直接使用命令或通过YAML文件定义来创建的。这些Pod在创建后由Kubernetes直接管理,但它们的生命周期是独立的。这意味着如果这些Pod被删除,Kubernetes不会自动重建它们。自主式Pod通常用于运行短生命周期的任务或服务,例如批处理作业、数据迁移等。控制器创建的Pod(Managed Pods)

杜小帅的博客 1676

Kubernetes控制器之ReplicaSet

ReplicaSet用来维护一组在任何时候都处于运行状态的Pod保持稳定的副本数。因此,它通常用来保证给定数量的完全相同的Pod的可用性。现在ReplicaSet基本取代了ReplicationController,ReplicaSet支持集合式的selector,而ReplicationController仅支持等式。不过现在建议使用Deployment来自动管理ReplicaSet,这样无需担心跟其他机制的不兼容问题,并且还支持版本记录、回滚、暂停升级等高级特性。

RtxTitanV的博客 1652

kubernetes之ReplicaSet

参考:https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ ReplicaSet是什么? ReplicaSet是kubernetes中的一种副本控制器,主要作用是控制由其管理的pod,使pod副本的数量始终维持在预设的个数。Kubernetes中还有一个类似功能的控制器:Replication Control...

山不转的博客 9984

K8S的控制器Deployment,ReplicaSet,StatefulSet,CronJob,最小单位pod

K8S的控制器 1、Deploymen控制器(常用pod控制器) 2、ReplicaSet控制器(实现pod数量控制) 3、StatefulSet控制器(有状态服务控制器) 4、DaemonSet控制器(主要用于每个节点创建守护pod进程) 5、Job控制器(一次性任务控制器) 6、CronJob控制器(定时任务控制器) 7、k8s最小单位pod(单实例pod)

DLWH_HWLD的博客 1695
上一篇: K8s: 部署 kubernetes dashboard
下一篇: K8s: 控制器之Deployment对象
Wang's Blog
博客等级 码龄12年 7433粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值