kubernetes實踐之二十五:儲存卷 PV&PVC
一:體系結構圖
二:說明
1.單節點Volume是最簡單的普通Volume,它和Docker的儲存卷類似,使用的是Pod所在K8S節點的本地目錄。具體有兩種,一種是 emptyDir,是一個匿名的空目錄,由Kubernetes在建立Pod時建立,刪除Pod時刪除。另外一種是 hostPath,與emptyDir的區別是,它在Pod之外獨立存在,由使用者指定路徑名。這類和節點繫結的儲存卷在Pod遷移到其它節點後資料就會丟失,所以只能用於儲存臨時資料或用於在同一個Pod裡的容器之間共享資料。
2.普通Volume和使用它的Pod之間是一種靜態繫結關係,在定義Pod的檔案裡,同時定義了它使用的Volume。Volume 是Pod的附屬品,我們無法單獨建立一個Volume,因為它不是一個獨立的K8S資源物件。
3.Persistent Volume 簡稱PV是一個K8S資源物件,我們可以單獨建立一個PV。它不和Pod直接發生關係,而是通過Persistent Volume Claim,簡稱PVC來實現動態繫結。Pod定義裡指定的是PVC,然後PVC會根據Pod的要求去自動繫結合適的PV給Pod使用。
4.PV 定義舉例
5.PVC定義舉例
二:說明
1.單節點Volume是最簡單的普通Volume,它和Docker的儲存卷類似,使用的是Pod所在K8S節點的本地目錄。具體有兩種,一種是 emptyDir,是一個匿名的空目錄,由Kubernetes在建立Pod時建立,刪除Pod時刪除。另外一種是 hostPath,與emptyDir的區別是,它在Pod之外獨立存在,由使用者指定路徑名。這類和節點繫結的儲存卷在Pod遷移到其它節點後資料就會丟失,所以只能用於儲存臨時資料或用於在同一個Pod裡的容器之間共享資料。
2.普通Volume和使用它的Pod之間是一種靜態繫結關係,在定義Pod的檔案裡,同時定義了它使用的Volume。Volume 是Pod的附屬品,我們無法單獨建立一個Volume,因為它不是一個獨立的K8S資源物件。
3.Persistent Volume 簡稱PV是一個K8S資源物件,我們可以單獨建立一個PV。它不和Pod直接發生關係,而是通過Persistent Volume Claim,簡稱PVC來實現動態繫結。Pod定義裡指定的是PVC,然後PVC會根據Pod的要求去自動繫結合適的PV給Pod使用。
4.PV 定義舉例
點選(此處)摺疊或開啟
-
apiVersion: v1
-
kind: PersistentVolume
-
metadata:
-
name: pv0003
-
spec:
-
capacity:
-
storage: 5Gi
-
accessModes:
-
- ReadWriteOnce
-
persistentVolumeReclaimPolicy: Recycle
-
storageClassName: slow
-
nfs:
-
path: /tmp
- server: 172.17.0.2
點選(此處)摺疊或開啟
-
kind: PersistentVolumeClaim
-
apiVersion: v1
-
metadata:
-
name: myclaim
-
spec:
-
accessModes:
-
- ReadWriteOnce
-
resources:
-
requests:
-
storage: 8Gi
-
storageClassName: slow
-
selector:
-
matchLabels:
-
release: "stable"
-
matchExpressions:
- - {key: environment, operator: In, values: [dev]}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2153408/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kubernetes-儲存卷Volume
- kubernetes系列10—儲存卷詳解
- kubernetes實踐之二十六:GlusterFS
- kubernetes實踐之二十七:Harbor
- kubernetes實踐之二十:網路原理
- kubernetes實踐之二十二:Pod
- kubernetes實踐之二十三:ReplicationControllerController
- kubernetes實踐之二十四:Service
- kubernetes實踐之六十五:Service Mesh
- kubernetes儲存類與PV與PVC關係及實踐
- kubernetes實踐之五十五:kubectl之配置kubeconfig
- kubernetes實踐之二十九:Kubernetes+Harbor+Gitlab+Jenkins+Maven DevOpsGitlabJenkinsMavendev
- Kubernetes 資料儲存:從理論到實踐的全面指南
- kubernetes實踐之二:建立TLS證書和金鑰TLS
- kubernetes系列12—二個特色的儲存卷configmap和secret
- kubernetes實踐之三十五:Pod配置管理ConfigMap
- kubernetes實踐之四十五:API Server原理分析APIServer
- kubernetes實踐之十五:Kubernetes叢集主要啟動引數說明
- kubernetes 儲存流程
- kubernetes實踐之二十一:物件與元件簡介物件元件
- 利用Kubernetes實現容器的持久化儲存持久化
- 雲原生儲存詳解:容器儲存與 K8s 儲存卷K8S
- Kubernetes雲原生儲存解決方案openebs部署實踐-3.10.0版本(helm部署)
- Spark in action on Kubernetes - 儲存篇Spark
- Kubernetes中的儲存(六)
- 儲存系列1-openfiler開源儲存管理平臺實踐
- kubernetes實踐之二十八:使用Harbor作為私有映象倉庫
- 火山引擎雲原生儲存加速實踐
- kubernetes系列(十三) - 儲存之Volume
- kubernetes系列(十二) - 儲存之Secret
- kubernetes系列(十四) - 儲存之PersistentVolume
- 配置Kubernetes共享使用Ceph儲存
- Spark in action on Kubernetes - 儲存篇(一)Spark
- (三)Kubernetes---持久化儲存持久化
- Kubernetes 持久化儲存之 NFS 終極實戰指南持久化NFS
- 大資料儲存平臺之異構儲存實踐深度解讀大資料
- 美團儲存雲原生探索和實踐
- 基於Ceph物件儲存構建實踐物件