国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s 控制器StatefulSet原理解析

這篇具有很好參考價(jià)值的文章主要介紹了k8s 控制器StatefulSet原理解析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

??明明跟你說過:個(gè)人主頁(yè)

??個(gè)人專欄:《Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者》???

??行路有良友,便是天堂??

目錄

一、前言

1、k8s概述

2、有狀態(tài)服務(wù)和無狀態(tài)服務(wù)?

二、StatefulSet基本概念

1、StatefulSet特性?

2、StatefulSet與Deployment、DaemonSet的對(duì)比?

三、StatefulSet核心組件

1、Headless Service

2、VolumeClaimTemplates

四、StatefulSet的工作原理?

1、Pod名稱與網(wǎng)絡(luò)標(biāo)識(shí)的確定性

2、存儲(chǔ)卷的動(dòng)態(tài)分配與綁定?

3、故障恢復(fù)與重建機(jī)制


一、前言

1、k8s概述

?Kubernetes單詞起源于希臘語(yǔ), 是“舵手”或者“領(lǐng)航員、飛行員”的意思。

Kubernetes(簡(jiǎn)稱K8s)的前世今生可以追溯到谷歌(Google)內(nèi)部的一個(gè)項(xiàng)目,它起源于2003年,當(dāng)時(shí)谷歌正面臨著不斷增長(zhǎng)的應(yīng)用程序和服務(wù)的管理挑戰(zhàn)。這個(gè)項(xiàng)目最初被稱為"Borg",是一個(gè)早期的容器編排系統(tǒng)。Borg 的成功經(jīng)驗(yàn)成為 Kubernetes 開發(fā)的契機(jī)。

?有關(guān)k8s起源的介紹,請(qǐng)參考《初識(shí)K8s之前世今生、架構(gòu)、組件、前景》這篇文章

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維?

?

Kubernetes的優(yōu)點(diǎn)包括可移植性、可伸縮性和擴(kuò)展性。它使用輕型的YAML清單文件實(shí)現(xiàn)聲明性部署方法,對(duì)于應(yīng)用程序更新,無需重新構(gòu)建基礎(chǔ)結(jié)構(gòu)。管理員可以計(jì)劃和部署容器,根據(jù)需要擴(kuò)展容器并管理其生命周期。借助Kubernetes的開放源代碼API,用戶可以通過首選編程語(yǔ)言、操作系統(tǒng)、庫(kù)和消息傳遞總線來構(gòu)建應(yīng)用程序,還可以將現(xiàn)有持續(xù)集成和持續(xù)交付(CI/CD)工具集成。

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

?

2、有狀態(tài)服務(wù)和無狀態(tài)服務(wù)?

1.有狀態(tài)服務(wù)(Stateful Service):

  • 有狀態(tài)服務(wù)在處理請(qǐng)求時(shí)會(huì)在多個(gè)請(qǐng)求之間維護(hù)一些狀態(tài)信息,這些狀態(tài)信息可能包括用戶會(huì)話信息、緩存數(shù)據(jù)、數(shù)據(jù)庫(kù)連接等。這些狀態(tài)信息會(huì)被保存在服務(wù)的內(nèi)存、數(shù)據(jù)庫(kù)或其他持久化存儲(chǔ)中。
  • 有狀態(tài)服務(wù)會(huì)對(duì)每個(gè)請(qǐng)求的處理結(jié)果依賴于之前的請(qǐng)求狀態(tài),因此需要保持一致的狀態(tài)信息。這可能會(huì)導(dǎo)致在水平擴(kuò)展時(shí)出現(xiàn)一些問題,因?yàn)樾枰_保每個(gè)請(qǐng)求都被路由到正確的具有相同狀態(tài)的實(shí)例上。
  • 典型的有狀態(tài)服務(wù)包括數(shù)據(jù)庫(kù)服務(wù)、消息隊(duì)列服務(wù)和一些分布式系統(tǒng)的狀態(tài)節(jié)點(diǎn)。

2.無狀態(tài)服務(wù)(Stateless Service):

  • 無狀態(tài)服務(wù)在處理請(qǐng)求時(shí)不會(huì)保存任何狀態(tài)信息,每個(gè)請(qǐng)求都是獨(dú)立的,不依賴于之前的請(qǐng)求狀態(tài)。服務(wù)會(huì)根據(jù)請(qǐng)求的參數(shù)和當(dāng)前的環(huán)境進(jìn)行計(jì)算和處理,并返回結(jié)果。
  • 無狀態(tài)服務(wù)通常會(huì)將狀態(tài)信息保存在外部的存儲(chǔ)系統(tǒng)中,如數(shù)據(jù)庫(kù)或緩存中。每個(gè)請(qǐng)求處理完成后,服務(wù)不會(huì)保留任何狀態(tài),因此可以輕松實(shí)現(xiàn)水平擴(kuò)展,通過增加更多的實(shí)例來處理更多的請(qǐng)求。
  • 典型的無狀態(tài)服務(wù)包括Web服務(wù)器、負(fù)載均衡器、靜態(tài)文件服務(wù)器和一些微服務(wù)架構(gòu)中的服務(wù)。

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

總結(jié)起來說,無狀態(tài)服務(wù)通常包括前后端代碼、中間件等這些不需要做數(shù)據(jù)持久化的服務(wù),因?yàn)檫@些服務(wù)不用擔(dān)心因故障導(dǎo)致的服務(wù)重建而造成的數(shù)據(jù)丟失。

而有狀態(tài)服務(wù)通常指數(shù)據(jù)庫(kù)和消息隊(duì)列,比如說MySQL、ES、kafka等需要做數(shù)據(jù)持久化的服務(wù),因?yàn)檫@些服務(wù)所在的Pod如果沒有數(shù)據(jù)持久化,一旦Pod重啟或飄逸,就會(huì)丟失數(shù)據(jù)。

二、StatefulSet基本概念

1、StatefulSet特性?

StatefulSet是Kubernetes中用于管理有狀態(tài)應(yīng)用的控制器。與Deployment不同,StatefulSet維護(hù)了有狀態(tài)應(yīng)用的穩(wěn)定標(biāo)識(shí)符,并且為每個(gè)Pod分配了一個(gè)唯一的標(biāo)識(shí)符。這使得StatefulSet非常適合運(yùn)行需要穩(wěn)定標(biāo)識(shí)符的應(yīng)用程序,例如數(shù)據(jù)庫(kù)。

以下是StatefulSet的一些主要特性:

  1. 穩(wěn)定的網(wǎng)絡(luò)標(biāo)識(shí)符:每個(gè)StatefulSet中的Pod都具有穩(wěn)定的網(wǎng)絡(luò)標(biāo)識(shí)符,可以通過其索引或名稱進(jìn)行訪問。這些標(biāo)識(shí)符會(huì)隨著Pod的重啟而保持不變。
  2. 有序部署和擴(kuò)展:StatefulSet可以確保Pod按照指定的順序進(jìn)行部署和擴(kuò)展。這對(duì)于有狀態(tài)應(yīng)用程序非常重要,因?yàn)樗鼈兺ǔP枰诩褐械牟煌?jié)點(diǎn)上以特定的順序啟動(dòng)。
  3. 穩(wěn)定的存儲(chǔ):StatefulSet可以為每個(gè)Pod提供獨(dú)立的持久化存儲(chǔ)。這些存儲(chǔ)卷可以在Pod重啟時(shí)保持不變,確保數(shù)據(jù)的持久性。
  4. 有狀態(tài)的服務(wù)發(fā)現(xiàn):StatefulSet會(huì)為每個(gè)Pod分配一個(gè)唯一的DNS名稱,可以通過該名稱進(jìn)行服務(wù)發(fā)現(xiàn)。這使得有狀態(tài)應(yīng)用程序可以通過DNS名稱進(jìn)行通信,而不必?fù)?dān)心Pod的IP地址變化。
  5. 有序的Pod終止:與部署不同,StatefulSet可以確保Pod按照指定的順序終止。這對(duì)于有狀態(tài)應(yīng)用程序的升級(jí)和維護(hù)非常重要,因?yàn)樗鼈兛赡苄枰诮K止之前執(zhí)行一些清理操作。

?statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維?

2、StatefulSet與Deployment、DaemonSet的對(duì)比?

StatefulSet、Deployment和DaemonSet是Kubernetes中常用的控制器,用于管理不同類型的應(yīng)用。它們之間有以下幾點(diǎn)區(qū)別:

StatefulSet:

  • 用于管理有狀態(tài)應(yīng)用程序,如數(shù)據(jù)庫(kù)。
  • 每個(gè)Pod都有一個(gè)唯一的穩(wěn)定標(biāo)識(shí)符,可以持久化地保留在Pod的整個(gè)生命周期中。
  • 可以按照指定的順序部署、擴(kuò)展和終止Pod,以確保有狀態(tài)應(yīng)用程序的穩(wěn)定性。
  • 可以為每個(gè)Pod提供獨(dú)立的持久化存儲(chǔ)。

Deployment:

  • 用于管理無狀態(tài)應(yīng)用程序,如Web服務(wù)。
  • 負(fù)責(zé)確保指定數(shù)量的Pod副本運(yùn)行在集群中,無需關(guān)注Pod的順序或標(biāo)識(shí)符。
  • 可以進(jìn)行滾動(dòng)更新,快速部署新版本的應(yīng)用程序,并確保不中斷服務(wù)。
  • 適用于需要水平擴(kuò)展的應(yīng)用程序,例如負(fù)載均衡的Web服務(wù)。

DaemonSet:

  • 用于在集群中的每個(gè)節(jié)點(diǎn)上運(yùn)行一個(gè)副本的Pod,通常用于運(yùn)行后臺(tái)任務(wù)或監(jiān)控代理。
  • 與Deployment不同,DaemonSet確保每個(gè)節(jié)點(diǎn)都有一個(gè)Pod副本運(yùn)行,而不管節(jié)點(diǎn)的數(shù)量如何變化。
  • 可以用于部署一些與節(jié)點(diǎn)相關(guān)的服務(wù),例如日志收集器或網(wǎng)絡(luò)代理。

??statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維?

三、StatefulSet核心組件

1、Headless Service

StatefulSet與Headless Service通常結(jié)合使用,以管理有狀態(tài)應(yīng)用程序的網(wǎng)絡(luò)通信。這兩者的關(guān)系如下:

StatefulSet:

  • 用于管理有狀態(tài)的應(yīng)用程序,如數(shù)據(jù)庫(kù)或其他需要持久標(biāo)識(shí)符的服務(wù)。
  • 每個(gè)Pod都有一個(gè)唯一的、穩(wěn)定的標(biāo)識(shí)符,可以通過索引或名稱訪問。
  • 通常需要與Headless Service結(jié)合使用,以便為每個(gè)Pod提供唯一的DNS記錄,以支持服務(wù)發(fā)現(xiàn)和網(wǎng)絡(luò)通信。

Headless Service:

  • 是一種特殊類型的Kubernetes Service,它沒有ClusterIP。
  • 通過為每個(gè)Pod提供一個(gè)DNS記錄,允許直接通過Pod的IP地址進(jìn)行網(wǎng)絡(luò)通信。
  • 通常與StatefulSet一起使用,為StatefulSet中的每個(gè)Pod提供唯一的DNS記錄,以便其他應(yīng)用程序可以通過這些DNS記錄直接訪問每個(gè)Pod。

在StatefulSet中,每個(gè)Pod都有一個(gè)唯一的DNS記錄,該DNS記錄遵循以下格式:

$(podname).$(service name).$(namespace).svc.cluster.local


通過這種方式,其他應(yīng)用程序可以直接使用該DNS記錄來訪問StatefulSet中的每個(gè)Pod,從而實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和網(wǎng)絡(luò)通信。

???

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

2、VolumeClaimTemplates

VolumeClaimTemplates是StatefulSet中的一個(gè)重要組件,用于定義與每個(gè)Pod相關(guān)聯(lián)的PersistentVolumeClaim(PVC)的模板。在StatefulSet中,每個(gè)Pod都會(huì)有一個(gè)關(guān)聯(lián)的PVC,用于請(qǐng)求持久化存儲(chǔ)資源,以便數(shù)據(jù)在Pod之間的遷移和持久化。

VolumeClaimTemplates的主要作用包括:

  1. 定義模板:VolumeClaimTemplates允許定義PVC的模板,其中包括存儲(chǔ)類、訪問模式、存儲(chǔ)資源請(qǐng)求等信息。這些模板將被用于為StatefulSet中的每個(gè)Pod創(chuàng)建對(duì)應(yīng)的PVC。

  2. 自動(dòng)生成PVC:根據(jù)定義的模板,Kubernetes會(huì)自動(dòng)為StatefulSet中的每個(gè)Pod創(chuàng)建對(duì)應(yīng)的PVC。這樣可以確保每個(gè)Pod都有自己的持久化存儲(chǔ)資源。

  3. 與StatefulSet關(guān)聯(lián):VolumeClaimTemplates與StatefulSet關(guān)聯(lián),使得它們能夠一起協(xié)同工作。當(dāng)創(chuàng)建或更新StatefulSet時(shí),Kubernetes會(huì)根據(jù)VolumeClaimTemplates的定義自動(dòng)創(chuàng)建或更新PVC。

  4. 簡(jiǎn)化配置:通過使用VolumeClaimTemplates,可以簡(jiǎn)化配置,避免手動(dòng)為每個(gè)Pod創(chuàng)建PVC的繁瑣工作。只需定義一個(gè)模板,Kubernetes就會(huì)為每個(gè)Pod生成相應(yīng)的PVC,提高了部署和管理的效率。

???

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

四、StatefulSet的工作原理?

1、Pod名稱與網(wǎng)絡(luò)標(biāo)識(shí)的確定性

StatefulSet在創(chuàng)建Pod時(shí),會(huì)為每個(gè)Pod分配一個(gè)唯一的名稱,并使用該名稱來確定Pod的網(wǎng)絡(luò)標(biāo)識(shí)。這種確定性是通過StatefulSet控制器的設(shè)計(jì)來實(shí)現(xiàn)的,

其工作原理如下:

Pod名稱的確定性:

  • StatefulSet控制器根據(jù)定義的Pod模板和副本數(shù)量,生成一系列Pod的名稱。通常,Pod的名稱會(huì)包含StatefulSet的名稱以及一個(gè)唯一的索引號(hào),例如<statefulset-name>-<ordinal>。
  • 這些Pod名稱的確定性保證了每個(gè)Pod都有一個(gè)唯一的標(biāo)識(shí)符,便于管理和識(shí)別。

網(wǎng)絡(luò)標(biāo)識(shí)的確定性:

  • StatefulSet控制器會(huì)為每個(gè)Pod分配一個(gè)穩(wěn)定的DNS名稱,通常是基于Pod名稱的域名。例如,如果StatefulSet的名稱是myapp,則第一個(gè)Pod的DNS名稱可能是myapp-0.myapp.default.svc.cluster.local。
  • 這種確定性的DNS名稱確保了每個(gè)Pod都有一個(gè)穩(wěn)定的網(wǎng)絡(luò)標(biāo)識(shí)符,其他應(yīng)用可以通過DNS來發(fā)現(xiàn)和訪問這些Pod。

啟動(dòng)和更新順序:

  • StatefulSet控制器按照定義的副本數(shù)量和啟動(dòng)順序逐個(gè)創(chuàng)建和更新Pod。通常情況下,后續(xù)Pod的啟動(dòng)和更新會(huì)等待前一個(gè)Pod完全啟動(dòng)和準(zhǔn)備就緒后再開始。
  • 這種有序的啟動(dòng)和更新順序保證了應(yīng)用的可靠性和穩(wěn)定性,確保了應(yīng)用的初始化和數(shù)據(jù)同步等過程能夠順利進(jìn)行。

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

2、存儲(chǔ)卷的動(dòng)態(tài)分配與綁定?

StatefulSet的工作原理中,存儲(chǔ)卷的動(dòng)態(tài)分配與綁定是通過volumeClaimTemplates字段實(shí)現(xiàn)的。這個(gè)字段允許定義一個(gè)或多個(gè)VolumeClaimTemplates,它們描述了每個(gè)Pod所需的存儲(chǔ)卷大小和訪問模式。在創(chuàng)建StatefulSet時(shí),Kubernetes將根據(jù)這些模板動(dòng)態(tài)地創(chuàng)建PersistentVolumeClaim(PVC),然后將其與對(duì)應(yīng)的PersistentVolume(PV)綁定。

工作原理大致如下:

定義VolumeClaimTemplates:

  • 在StatefulSet的配置中,通過volumeClaimTemplates字段定義每個(gè)Pod所需的存儲(chǔ)卷模板。這些模板包含了存儲(chǔ)卷的名稱、大小、訪問模式等信息。

動(dòng)態(tài)創(chuàng)建PVC:

  • 當(dāng)創(chuàng)建StatefulSet時(shí),Kubernetes會(huì)根據(jù)定義的VolumeClaimTemplates動(dòng)態(tài)地創(chuàng)建對(duì)應(yīng)數(shù)量的PVC。每個(gè)PVC都會(huì)根據(jù)模板中的定義,分配一個(gè)唯一的名稱,并指定所需的存儲(chǔ)卷大小和訪問模式。

PV的動(dòng)態(tài)綁定:

  • 一旦PVC被創(chuàng)建,Kubernetes會(huì)自動(dòng)查找滿足其需求的可用PV。如果存在符合條件的PV,則將PVC與PV進(jìn)行綁定。如果沒有可用的PV,Kubernetes將根據(jù)定義的StorageClass動(dòng)態(tài)創(chuàng)建新的PV,并將其與PVC進(jìn)行綁定。

PVC的掛載:

  • 綁定完成后,StatefulSet會(huì)將每個(gè)Pod的PVC掛載到對(duì)應(yīng)的容器中。容器可以通過掛載的PVC來訪問和使用持久化存儲(chǔ)。

通過這種方式,StatefulSet能夠自動(dòng)管理存儲(chǔ)卷的動(dòng)態(tài)分配和綁定過程,確保每個(gè)Pod都擁有自己獨(dú)立的持久化存儲(chǔ),并且能夠持久化地保存應(yīng)用程序的數(shù)據(jù)。這種動(dòng)態(tài)的存儲(chǔ)卷管理機(jī)制使得StatefulSet適用于需要持久化存儲(chǔ)的有狀態(tài)應(yīng)用,如數(shù)據(jù)庫(kù)、消息隊(duì)列等。

statefulset 工作機(jī)制,Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者,kubernetes,容器,云原生,k8s,運(yùn)維

3、故障恢復(fù)與重建機(jī)制

  1. 穩(wěn)定的網(wǎng)絡(luò)標(biāo)識(shí)和穩(wěn)定的持久化存儲(chǔ):StatefulSet保證每個(gè)Pod都有唯一的網(wǎng)絡(luò)標(biāo)識(shí)和持久化存儲(chǔ)。即使Pod重新啟動(dòng)或遷移到其他節(jié)點(diǎn),它們也會(huì)保持相同的網(wǎng)絡(luò)標(biāo)識(shí)和持久化存儲(chǔ),從而確保應(yīng)用程序狀態(tài)的持久性。
  2. 有序的Pod部署和終止:StatefulSet會(huì)按照定義的順序逐個(gè)部署和終止Pod。這確保了在更新或擴(kuò)容時(shí),每個(gè)Pod都能以有序的方式啟動(dòng)和停止,從而避免了并發(fā)啟動(dòng)或停止可能導(dǎo)致的問題。
  3. 滾動(dòng)更新策略:StatefulSet支持滾動(dòng)更新策略,可以逐個(gè)替換舊的Pod實(shí)例。在進(jìn)行滾動(dòng)更新時(shí),它會(huì)等待新Pod就緒后再繼續(xù)更新下一個(gè)Pod,從而確保更新過程的穩(wěn)健性和可控性。
  4. 自動(dòng)重啟和重建:如果某個(gè)Pod失敗或被終止,StatefulSet會(huì)自動(dòng)重啟該P(yáng)od或在另一個(gè)節(jié)點(diǎn)上重建一個(gè)新的Pod,以保持所需的副本數(shù)量。
  5. 管理PVC的生命周期:StatefulSet還負(fù)責(zé)管理與之關(guān)聯(lián)的PersistentVolumeClaim(PVC)的生命周期。當(dāng)StatefulSet被刪除時(shí),它會(huì)根據(jù)定義的回收策略來處理PVC,可以選擇保留或刪除與之關(guān)聯(lián)的持久化存儲(chǔ)。

??????每一次的分享都是一次成長(zhǎng)的旅程,感謝您的陪伴和關(guān)注。希望這些關(guān)于Kubernetes的文章能陪伴您走過技術(shù)的一段旅程,共同見證成長(zhǎng)和進(jìn)步!??????

??????讓我們一起在技術(shù)的海洋中探索前行,共同書寫美好的未來!??!文章來源地址http://www.zghlxwxcb.cn/news/detail-854796.html

到了這里,關(guān)于k8s 控制器StatefulSet原理解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • K8s基礎(chǔ)10——數(shù)據(jù)卷、PV和PVC、StorageClass動(dòng)態(tài)補(bǔ)給、StatefulSet控制器

    K8s基礎(chǔ)10——數(shù)據(jù)卷、PV和PVC、StorageClass動(dòng)態(tài)補(bǔ)給、StatefulSet控制器

    為什么需要數(shù)據(jù)卷? 容器中的文件在磁盤上是臨時(shí)存放的,這給容器中運(yùn)行比較重要的應(yīng)用程序帶來一些問題。 當(dāng)容器升級(jí)或者崩潰時(shí),kubelet會(huì)重建容器,容器內(nèi)文件會(huì)丟失。 一個(gè)Pod中運(yùn)行多個(gè)容器時(shí),需要共享文件。 而K8s 數(shù)據(jù)卷就可以解決這兩個(gè)問題。 Volume概念: V

    2024年02月05日
    瀏覽(18)
  • k8s-statefulset控制器 12

    k8s-statefulset控制器 12

    StatefulSet將應(yīng)用狀態(tài)抽象成了兩種情況: 拓?fù)錉顟B(tài): 應(yīng)用實(shí)例必須按照某種順序啟動(dòng),新創(chuàng)建的Pod必須和原來Pod的網(wǎng)絡(luò)標(biāo)識(shí)一樣。 存儲(chǔ)狀態(tài): 應(yīng)用的多個(gè)實(shí)例分別綁定了不同存儲(chǔ)數(shù)據(jù)。 StatefulSet給所有的Pod進(jìn)行了編號(hào),編號(hào)規(guī)則是:$(statefulset名稱)-$(序號(hào)),從0開始。 Pod被

    2024年01月25日
    瀏覽(21)
  • K8S中Deployment控制器的概念、原理解讀以及使用技巧

    Deployment官方文檔: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ Deployment是kubernetes中最常用的資源對(duì)象,為ReplicaSet和Pod的創(chuàng)建提供了一種聲明式的定義方法, 在Deployment對(duì)象中描述一個(gè)期望的狀態(tài),Deployment控制器就會(huì)按照一定的控制速率把實(shí)際狀態(tài)改成期望狀態(tài),

    2024年02月21日
    瀏覽(25)
  • 18-k8s控制器資源-cronjob控制器

    18-k8s控制器資源-cronjob控制器

    ? ? ? ? job控制器是執(zhí)行完一次任務(wù),就結(jié)束; ? ? ? ? cronjob控制器,是基于job控制器,定期頻率性執(zhí)行任務(wù);等同于linux系統(tǒng)中的crontab一樣; [root@k8s231 pi]# vim cronjob.yaml apiVersion: batch/v1 kind: CronJob metadata: ? name: xinjizhiwa spec: ? schedule: \\\"* * * * *\\\" ? #定義job的模板 ? jobTemplate

    2024年02月22日
    瀏覽(112)
  • K8s控制器

    K8s控制器

    kubectl create tabtab 下面的所有都可以創(chuàng)建模板文件 --dry-run=client -o yaml 查詢資源對(duì)象的幫助信息 ????????kubectl explain pod.spec.restartPolicy? ? ? ? ? ? #這里對(duì)上下層級(jí)關(guān)系需要清楚 獲取Pod模板 ????????kubectl run mypod --image=xxxx --dry-run=client -o yaml 獲取Deployment ????????ku

    2024年02月03日
    瀏覽(53)
  • k8s 控制器

    Kubernetes(K8S)是一種開源的容器編排平臺(tái),它可以自動(dòng)化地管理容器化應(yīng)用程序的部署、擴(kuò)展和運(yùn)行。K8S中的控制器是一種重要的組件,它可以確保應(yīng)用程序的狀態(tài)與期望的狀態(tài)一致。在K8S中,有五種常見的控制器,它們分別是: 1. ReplicaSet控制器 ReplicaSet控制器用于確保P

    2024年02月13日
    瀏覽(23)
  • 15-k8s控制器資源-deployment/部署控制器

    15-k8s控制器資源-deployment/部署控制器

    ? ? ? ? 在學(xué)習(xí)rc和rs控制器資源時(shí),我們指導(dǎo),這兩個(gè)資源都是控制pod的副本數(shù)量的,但是,他們兩個(gè)有個(gè)缺點(diǎn),就是在部署新版本pod或者回滾代碼的時(shí)候,需要先apply資源清單,然后再刪除現(xiàn)有pod,通過資源控制,重新拉取新的pod來實(shí)現(xiàn)回滾或者迭代升級(jí); ? ? ? ? 那么

    2024年02月21日
    瀏覽(29)
  • 14-k8s控制器資源-rs控制器replicasets

    14-k8s控制器資源-rs控制器replicasets

    ? ? ? ? replicaset副本控制器,簡(jiǎn)稱:rs控制器; ? ? ? ? 用法:與rc控制器“幾乎”相同; ? ? ? ? 能力:可以指定pod的副本始終存活,相比于rc控制器;支持標(biāo)簽匹配,也支持標(biāo)簽表達(dá)式 ????????注意:不論是rc還是rs資源,都是通過“標(biāo)簽”驚醒匹配pod的,如果有同樣

    2024年02月21日
    瀏覽(35)
  • k8s---pod控制器

    k8s---pod控制器

    工作負(fù)載,workload用于管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài)。 預(yù)期狀態(tài): 1、副本數(shù) 2、容器重啟策略 3、鏡像拉取策略 pod出故障的出去等等 1、replicaset:指定pod副本的數(shù)量 三個(gè)組件: ????????????????1、pod的副本 ????????????????2、標(biāo)簽選擇器,判斷

    2024年01月18日
    瀏覽(25)
  • 13-k8s的控制器資源-rc控制器replicationcontrollers

    13-k8s的控制器資源-rc控制器replicationcontrollers

    ? ? ? ? replicationcontrollers控制器資源,簡(jiǎn)稱:rc控制器; ? ? ? ? 簡(jiǎn)單理解,rc控制器就是控制相同的pod副本數(shù)量; ? ? ? ? 使用rc控制器資源創(chuàng)建pod,就可以設(shè)定創(chuàng)建pod的數(shù)量; [root@k8s231 rc]# vim rc.yaml apiVersion: v1 kind: ReplicationController metadata: ? name: rc01 spec: ? #控制pod的副本

    2024年02月20日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包