【一起來學kubernetes】34、ReplicaSet使用詳解

Kubernetes ReplicaSet 使用詳解

ReplicaSet 是 Kubernetes 中用于確保指定數量的 Pod 副本持續運行的核心控制器。它通過動態調整 Pod 副本數,保障應用的高可用性和彈性。以下是其核心功能、配置方法及最佳實踐:


一、ReplicaSet 核心作用
  1. 維持 Pod 副本數量
    確保集群中始終運行指定數量的相同 Pod,當 Pod 因故障或節點問題終止時,自動創建新副本替代。

  2. 標簽選擇器管理
    通過 selector.matchLabelsmatchExpressions 篩選并管理具有特定標簽的 Pod。

  3. 與 Deployment 的關系
    ReplicaSet 通常由 Deployment 管理,Deployment 提供滾動更新、回滾等高級功能。直接使用 ReplicaSet 的場景較少,主要用于無需更新邏輯的簡單副本控制。


二、ReplicaSet 工作原理
  1. 控制器循環機制
    ReplicaSet Controller 持續監聽 Pod 狀態,通過計算當前副本數與期望值的差異,觸發 Pod 的創建或刪除操作。

  2. 所有權標記(OwnerReference)
    每個由 ReplicaSet 創建的 Pod 會帶有 metadata.ownerReferences 字段,標識其歸屬的 ReplicaSet。當 ReplicaSet 被刪除時,關聯 Pod 會被垃圾回收器清理。

  3. 動態擴縮容
    例如,若期望副本數為 3 且當前僅運行 2 個 Pod,控制器會基于 Pod 模板(spec.template)創建新 Pod;若副本數超出預期,則按策略終止多余 Pod。


三、核心配置解析

示例 YAML

apiVersion: apps/v1
kind: ReplicaSet
metadata:name: frontendlabels:app: guestbook
spec:replicas: 3  # 期望副本數selector:matchLabels:  # 標簽選擇器(需與 Pod 模板標簽匹配)tier: frontendtemplate:metadata:labels:tier: frontend  # Pod 標簽,必須與 selector 匹配spec:containers:- name: nginximage: nginx:1.19ports:- containerPort: 80

關鍵字段說明
? replicas:目標 Pod 副本數量,默認 1。
? selector:標簽選擇器,支持精確匹配(matchLabels)或表達式匹配(matchExpressions)。
? template:定義新 Pod 的元數據和規格,需確保標簽與選擇器一致。


四、常用操作命令
  1. 創建與查看

    kubectl apply -f replicaset.yaml  # 通過 YAML 創建
    kubectl get rs                   # 查看 ReplicaSet 列表
    kubectl describe rs/frontend     # 查看詳細信息(事件、Pod 狀態)
    
  2. 擴縮容

    kubectl scale rs frontend --replicas=5  # 手動調整副本數
    
  3. 刪除

    kubectl delete rs frontend       # 刪除 ReplicaSet 及關聯 Pod
    

五、最佳實踐
  1. 優先使用 Deployment
    Deployment 封裝了 ReplicaSet,提供滾動更新、版本回滾等高級功能。直接操作 ReplicaSet 僅適用于無需更新的靜態副本場景。

  2. 標簽管理規范
    ? 確保 Pod 模板的標簽與選擇器嚴格匹配,避免副本失控。
    ? 避免跨 ReplicaSet 使用相同標簽,防止資源沖突。

  3. 資源限制與監控
    ? 在 Pod 模板中定義資源請求與限制(CPU/內存),防止節點過載。
    ? 結合監控工具(如 Prometheus)觀察副本數波動,及時排查異常。

  4. 自動擴縮容(HPA)
    通過 HorizontalPodAutoscaler 根據 CPU/內存或自定義指標動態調整副本數,但需注意 HPA 通常與 Deployment 配合使用。


六、常見問題與排查
問題原因與解決方案
Pod 副本數不達標- 檢查節點資源是否充足(kubectl describe node)。
- 確認 Pod 模板標簽與選擇器匹配(kubectl get pods --show-labels)。
ReplicaSet 無法刪除- 強制刪除:kubectl delete rs <name> --force --grace-period=0
新 Pod 啟動失敗- 查看事件日志:kubectl describe pod <name>,排查鏡像拉取或配置錯誤。

總結

ReplicaSet 是 Kubernetes 中維護 Pod 副本的核心機制,通過標簽選擇器和控制器循環實現動態擴縮容。盡管其功能基礎,但在實際生產中通常由 Deployment 管理以支持復雜更新策略。開發者應優先使用 Deployment,僅在特定場景下直接操作 ReplicaSet

拓展

【一起來學kubernetes】32、kubectl使用詳解

【一起來學kubernetes】30、k8s的java sdk怎么用

【一起來學kubernetes】4、kubernetes基本組件的了解

【一起來學kubernetes】33、Hpa使用詳解


在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75410.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75410.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75410.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【力扣hot100題】(034)LRU緩存

做完這題已經沒有任何力氣寫鏈表題了。 思路很簡單&#xff0c;就是調試特別的痛苦。 老是頻頻報錯&#xff0c;唉。 class LRUCache { public:struct ListNode{int key,val;ListNode* next; ListNode* prev;ListNode() : key(0), val(0), next(nullptr), prev(nullptr) {}L…

基于隨機森林算法的信用風險評估項目

引言 這是一個基于隨機森林算法的德國信用風險評估項目&#xff0c;主要目的是構建一個機器學習模型來評估德國客戶的信用風險&#xff0c;判斷客戶是否為高風險客戶。 # -*- coding: utf-8 -*- """ 德國信用風險評估隨機森林模型 """ # 基礎…

亞馬遜云科技攜手 DeepSeek:開啟企業級生成式 AI 新征程

文章目錄 一、DeepSeek-R1模型的技術突破&#xff08;一&#xff09;卓越的性能表現&#xff08;二&#xff09;獨特的訓練方法&#xff08;三&#xff09;豐富的模型生態 二、亞馬遜云科技平臺上的部署與優化&#xff08;一&#xff09;靈活的部署方式&#xff08;二&#xff…

Windows 實戰-evtx 文件分析--筆記

Windows 取證之EVTX日志 - 蟻景網安實驗室 - 博客園 一.evtx日志文件是什么 從 Windows NT 6.0&#xff08;也就是 Windows Vista 和 Windows Server 2008&#xff09;開始&#xff0c;微軟引入了一種全新的日志文件格式&#xff0c;稱為 evtx。這種格式取代了之前 Windows 系…

LangChain/Eliza框架在使用場景上的異同,Eliza通過配置實現功能擴展的例子

LangChain與Eliza框架的異同分析 ?一、相同點? ?模塊化架構設計? 兩者均采用模塊化設計&#xff0c;支持靈活擴展和功能組合。LangChain通過Chains、Agents等組件實現多步驟任務編排?&#xff0c;Eliza通過插件系統和信任引擎實現智能體功能的動態擴展?。模塊化特性降低…

英語口語 -- 常用 1368 詞匯

英語口語 -- 常用 1368 詞匯 介紹常用單詞List1 &#xff08;96 個&#xff09;時間類氣候類自然類植物類動物類昆蟲類其他生物地點類 List2 &#xff08;95 個&#xff09;機構類聲音類食品類餐飲類蔬菜類水果類食材類飲料類營養類疾病類房屋類家具類服裝類首飾類化妝品類 Lis…

深挖 DeepSeek 隱藏玩法·智能煉金術2.0版本

前引&#xff1a;屏幕前的你還在AI智能搜索框這樣搜索嗎&#xff1f;“這道題怎么寫”“蘋果為什么紅”“怎么不被發現翹課” &#xff0c;。看到此篇文章的小伙伴們&#xff01;請準備好你的思維魔杖&#xff0c;開啟【霍格沃茨模式】&#xff0c;看我如何更新秘密的【知識煉金…

2025 年浙江危化品經營單位考試攻略分享?

浙江的考試由省應急管理部門主導。理論考試突出危化品在電商、物流等新興業態下的安全管理知識&#xff0c;這與浙江發達的電商產業緊密相關。對危險化學品的環境危害及防治知識考查細致。實際操作考核模擬杭州、寧波等地危化品倉儲物流中心的作業情況。? 報名材料準備齊全后…

【區塊鏈+ 房產建筑】山東省建筑產業互聯網平臺 | FISCO BCOS 應用案例

山東省建筑產業互聯網平臺&#xff08;山東省弘商易盟平臺&#xff09;是基于區塊鏈技術構建的分布式產業互聯網平臺&#xff0c; 旨在把各企業內部的供應鏈協同管理系統&#xff08;包括采購或者SRM 系統&#xff0c; 以及銷售或CRM 系統&#xff09;利用區塊鏈技術鏈接起來&a…

Bash 花括號擴展 {start..end} 進階使用指南——字典生成

Bash 的花括號擴展&#xff08;brace expansion&#xff09;{start..end} 是一個強大而靈活的語法特性&#xff0c;用于生成特定序列或組合。它在腳本編寫、爆破字典生成、文件批量操作以及模式匹配中有著廣泛的應用。本文將從基礎用法到高級技巧&#xff0c;帶你全面掌握這一功…

23種設計模式-結構型模式-享元

文章目錄 簡介問題解決方案享元與不可變性享元工廠 代碼總結 簡介 亦稱&#xff1a;緩存、Cache、Flyweight。享元是一種結構型設計模式&#xff0c;它摒棄了在每個對象中保存所有數據的方式&#xff0c;通過共享多個對象所共有的相同狀態&#xff0c;讓你能在有限的內存容量中…

MFC BCGControlBar

BCGControlBar&#xff08;也稱為 BCGSoft 或 BCGControlBar Library&#xff09;是一個用于 MFC&#xff08;Microsoft Foundation Classes&#xff09; 的擴展庫&#xff0c;主要提供現代化的 UI 控件、Ribbon 界面、工具欄、屬性網格等組件&#xff0c;幫助開發者快速構建專…

【算法手記9】OR26 最長回文子串 NC369 [NOIP2002 普及組] 過河卒

&#x1f984;個人主頁:修修修也 &#x1f38f;所屬專欄:刷題 ??操作環境:牛客網 一.OR26 最長回文子串 牛客網題目鏈接(點擊即可跳轉):OR26 最長回文子串 題目詳情: 本題詳情如下圖: 題目思路: 本題解題思路如下: 本題思路用中心擴展算法,遍歷所有字符,將每個字符作為回文串…

批量刪除或替換文本文件中指定的行,如刪除第一行、刪除最后一行

每一個文本文件中我們都可以插入非常多的行&#xff0c;我們可以對行的內容進行刪除、修改等各種操作。如果文本文件中的某些行的內容需要更新&#xff0c;那我們就需要對其進行修改操作。想要修改文本文件的內容其實是非常方便的&#xff0c;但是如果想要批量的對多個文本文件…

LLM架構解析:詞嵌入模型 Word Embeddings(第二部分)—— 從基礎原理到實踐應用的深度探索

本專欄深入探究從循環神經網絡&#xff08;RNN&#xff09;到Transformer等自然語言處理&#xff08;NLP&#xff09;模型的架構&#xff0c;以及基于這些模型構建的應用程序。 本系列文章內容&#xff1a; NLP自然語言處理基礎詞嵌入&#xff08;Word Embeddings&#xff09…

機構數據服務

一、背景說明 券商/基金/銀行等金融機構的數據中心&#xff0c;基本都外購有數十家各類數據&#xff0c;自有業務每天也在產生海量信息。如何有效管理和使用這些數據&#xff0c;通過數據服務&#xff0c;沉淀數據資產&#xff0c;機構研發和運維部門也在不斷嘗試和改進。 傳…

中和農信:讓金融“活水”精準澆灌鄉村沃土

2025年政府工作報告首提“投資于人”概念&#xff0c;并22次提及“金融”&#xff0c;強調要著力抓好“三農”工作&#xff0c;深入推進鄉村全面振興&#xff1b;一體推進地方中小金融機構風險處置和轉型發展&#xff1b;扎扎實實落實促進民營經濟發展的政策措施&#xff0c;切…

JavaScript重難點突破:期約與異步函數

同步和異步 ?同步&#xff08;Synchronous&#xff09;? ?定義&#xff1a;任務按順序依次執行&#xff0c;前一個任務完成前&#xff0c;后續任務必須等待。 ?特點&#xff1a;阻塞性執行&#xff0c;程序邏輯直觀&#xff0c;但效率較低 ?異步&#xff08;Asynchron…

學習總結 網格劃分+瞬態求解設置

網格劃分部分 1.導入幾何文件 導入我們的幾何模型&#xff0c;他的格式為.scdocx 2.添加局部尺寸BOI 因為要對對前緣和尾緣進行局部加密&#xff0c;所以進行一個BOI的局部加密&#xff0c;目標尺寸取的幾何尺寸的最小尺寸的0.1&#xff0c;就是0.4mm。 3.生成表面網格 表面…

.NET 使用 WMQ 連接Queue 發送 message 實例

1. 首先得下載客戶端&#xff0c;沒有客戶端無法發送message. 安裝好之后長這樣 我裝的是7.5 安裝目錄如下 tools/dotnet 目錄中有演示的demo 2. .Net 連接MQ必須引用bin目錄中的 amqmdnet.dll 因為他是創建Queuemanager 的核心庫&#xff0c; 項目中引用using IBM.WMQ; 才…