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

2024-06-03 17:28

本文主要是介绍【K8s】专题四(3):Kubernetes 控制器之 ReplicaSet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、基本介绍

二、工作原理

三、相关特性

四、资源清单(示例)

五、常用操作


一、基本介绍

前文【K8s】专题四(2):Kubernetes 控制器之 Deployment 中提到了副本集控制器 ReplicaSet,本文将对其展开介绍。

ReplicaSet 控制器是 Kubernetes 的一个 API 对象,它负责维护一组指定数量的 Pod 副本始终运行在 Kubernetes 集群中。当某个 Pod 副本因为故障而终止,ReplicaSet 会及时、自动创建新的 Pod 副本对其进行替换。

ReplicaSet 通常与 Deployment 一起使用,由 Deployment 控制器管理 ReplicaSet 的生命周期和更新。


二、工作原理
  • 定义对象:用户在创建 Deployment 对象时自动创建一个 ReplicaSet 对象,指定 Pod 模板和副本数量
  • 监控 Pod:ReplicaSet 通过 Label 标签以及 Selector 标签选择器识别并监控由其管理的所有 Pod,如果任何 Pod 副本失败(例如,因为容器崩溃或节点故障),ReplicaSet 控制器会自动替换它们,以确保始终有指定数量的 Pod 副本运行
  • 管理更新:当 Deployment 对象有更新时,系统自动创建一个新的 ReplicaSet,新 ReplicaSet 的 Pod 副本数逐步增加至预期值,旧 ReplicaSet 的 Pod 副本数逐步减少至 0


三、相关特性
  • 副本机制:确保集群中始终有指定数量的 Pod 副本运行
  • 自动替换:自动替换失败的 Pod 副本,无需手动干预
  • 滚动更新:支持滚动更新,逐步替换旧的 Pod 副本,以减少服务中断
  • 管理 Pod:使用标签选择器来识别和管理 Pod,确保只有匹配标签的 Pod 被管理
  • 声明式操作:用户只需声明期望的状态,ReplicaSet 会自动实现这一状态
  • 可扩展性:适用于大规模集群,可以管理成千上万的 Pod 副本
  • 生命周期:通常作为 Deployment 的一部分,由 Deployment 管理其生命周期


四、资源清单(示例)
# replicaset.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:name: demo-replicaset
spec:replicas: 3selector:matchLabels:app: demo-replicasettemplate:metadata:labels:app: demo-replicasetspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80

上述 replicaset.yaml 文件定义了一个名为 demo-replicaset 的 ReplicaSet 对象,该对象包括 3 个 Pod 副本,每个 Pod 包含一个名为 demo-container 的业务容器,业务容器使用 demo-image:latest 镜像,并指定监听端口为 80。

说明:可以通过以下命令查看 ReplicaSet 资源清单支持定义的内容

kubectl explain replicaset --recursive


五、常用操作

1、创建 ReplicaSet

# 方式一:命令行
kubectl create replicaset demo-replicaset --image=demo-image:latest# 方式二:资源清单
kubectl create -f replicaset.yaml
或
kubectl apply -f replicaset.yaml

2、查看 ReplicaSet

# 查看实例列表
kubetcl get replicaset# 查看详细信息
kubectl describe replicaset demo-replicaset

3、删除 ReplicaSet

# 方式一:命令行
kubectl delete replicaset demo-replicaset# 方式二:资源清单
kubectl delete -f replicaset.yaml

4、副本伸缩

kubectl scale replicaset demo-replicaset --replicas=1 

这篇关于【K8s】专题四(3):Kubernetes 控制器之 ReplicaSet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1027638

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

什么是Kubernetes PodSecurityPolicy?

@TOC 💖The Begin💖点点关注,收藏不迷路💖 1、什么是PodSecurityPolicy? PodSecurityPolicy(PSP)是Kubernetes中的一个安全特性,用于在Pod创建前进行安全策略检查,限制Pod的资源使用、运行权限等,提升集群安全性。 2、为什么需要它? 默认情况下,Kubernetes允许用户自由创建Pod,可能带来安全风险。

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

kubernetes集群部署Zabbix监控平台

一、zabbix介绍 1.zabbix简介 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。 2.zabbix特点 (1)安装与配置简单。 (2)可视化web管理界面。 (3)免费开源。 (4)支持中文。 (5)自动发现。 (6)分布式监控。 (7)实时绘图。 3.zabbix的主要功能