華為云云原生王者之路集訓營(黃金-第六章):Kubernetes持久化數據卷管理
課程目標:
了解StatefulSet的概念及使用
了解PersistentVolume概念及使用
了解PersistentVolumeClaim的概念及使用
了解StorageClass的概念及使用
無狀態應用:
應用是為了某項特殊的任務而編寫的程序。程序是由算法和數據組成的。
在生產環境中,除了一些無狀態應用外,還有一部分應用需要將結果數據(也即:狀態)緩存下來,并永久的記錄在存儲中,以供后續使用。
這類應用就是我們將要討論的“有狀態應用”,與“無狀態應用”相比,我們期望“有狀態應用”具有哪些能力呢?
1.計算維度: 每個pod的名字需要是穩定的,不會發生變化的;pods之間的啟動、升級、退出可以按照某種順序控制的;
2.存儲維度:存儲是持久的,擁有獨立于pod的生命周期,不會隨著pod的生命周期結束而銷毀;每個pod與其使用的存儲關系是穩定的,不會因升級等因素而發生變化;
3.網絡維度:每個pod的有獨立、穩定的網絡標識;
有狀態應用(StatefulSet)概念介紹
基于社區對有狀態應用的通用需求,K8S設計了一種有狀態應用對象,也即: StatefulSet。它可以為用戶提供一組具有穩定、有序、唯一特性的應用實例集合。如右圖所示:
1.穩定:穩定的podName: {stsName}-{序號[O-n]}
②穩定的網絡標識: {podName}. {headless-svcName}.{namespace}.svc.cluster.local
③穩定的存儲關系: {volumeClaimTemplatesName}-{podName}
2.有序:
按照編號從小到大順序的部署:0~ n
按照編號從大到小進行刪除: n~ o
支持有序的擴縮容和升級策略
3.唯一:
每個pod擁有一個唯一的網絡標識: {podName}. {headless-svcName}.{namespace}.svc.cluster.local
從下圖可以看出,與Deployment通過ReplicaSet來管理pod生命周期不同,StatefulSet是直接管理pod的。
PV/PVC/SC概念介紹
1. PersistentVolume:簡稱pv,持久化存儲,是k8s為云原生應用提供一種擁有獨立生命周期的、用戶可管理的存儲的抽象設計。
2. PersistentVolumeClaim:簡稱pvc,持久化存儲聲明,是k8s為解耦云原生應用和數據存儲而設計的,通過pvc可以讓資源管控更細更靈活、應用模板更通用。
3. StorageClass:簡稱sc,存儲類,是k8s平臺為存儲提供商提供存儲接入的一種聲明。通過sc和相應的存儲插件(csi)為容器應用提供持久存儲卷的能力。
本課總結
名稱? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??簡介
StatefulSet ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?簡稱sts,有狀態應用,一種k8s為用戶提供一組具有有序、唯一、穩定的應用實例集合。
Volume ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?卷,k8s為存算分離所做的解耦設計,讓用戶更加專注于業務功能設計。它在k8s中是依托于pod而使用的。
PersistentVolume ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 簡稱pv,持久化存儲,是k8s為云原生應用提供一種擁有獨立生命周期的、用戶可管理的存儲抽象設計。
PersistentVolumeClaim? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?簡稱pvc,持久化存儲聲明,是K8S為解耦云原生應用和數據存儲而設計的,通過PVC可以讓資源管控更細更靈活、團? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?隊職責分離、應用模板更通用,進一步解除了用戶被云平臺鎖定的顧慮。
StorageClass ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?簡稱sc,存儲類,是K8S平臺為存儲提供商提供存儲接入的一種聲明,通過sc和相應的存儲插件(csi/flexvolume)為? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?容器應用提供動態分配存儲卷的能力。
相關內容的華為云官網鏈接:https://support.huaweicloud.com/usermanual-cce/cce_01_0042.html
CCE云容器引擎官方首頁: https://www.huaweicloud.com/product/cce.html
Kubernetes官方文檔:
StatefulSet: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
Storage: https://kubernetes.io/docs/concepts/storage/
Kubernetes 云容器引擎 CCE
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。