K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(下)
目標
1、卷配置程式可以識別資料來源並能夠直接從資料來源建立卷(例如,將快照還原到卷)。
2、卷配置程式無法識別資料來源,並建立空儲存卷。另一個外部元件(資料填充程式)可以監視卷建立並可以將資料填充/匯入到已配置的卷。只有在將資料填充到卷後,PVC才可以被使用。
考慮到可以有許多不同型別的資料來源用於將資料填充到卷中,因此我們建議在PersistentVolumeClaimSpec中新增一個通用的“DataSource”欄位來表示不同型別的資料來源。
PVC API 變化
我們將在PVC中新增DataSource欄位,以表示預先填充到預配置卷的資料來源。對於DataSource欄位,我們定義一個新型別“TypedLocalObjectReference”。它類似於具有附加Kind欄位的“LocalObjectReference”型別,以便支援多種資料來源型別。在alpha版本中,此資料來源應和PVC位於同一名稱空間。此資料來源受限於PVC的同一名稱空間。
設計細節
對於需要外部資料填充程式的其他型別的資料來源,卷建立和資料填充是兩個單獨的步驟。 只有在資料準備就緒時,才能將PVC / PV標記為就緒(繫結),使用者可以開始使用它們。我們正在制定一個單獨的提案,使用“Pod Ready ++”(%2B%2B.md)中的類似想法來解決這個問題。
注意:為了使用此資料來源功能,使用者/管理員需要更新到可以識別快照資料來源的新external provisioner。否則,將忽略資料來源並建立空儲存卷。
示例
步驟一:下載kubernetes 1.12版本,修改hack/local-up-cluster.sh指令碼,如下:
第26行修改如下,允許以特權形式啟動container。
第131行新增下列,開啟VolumeSnapshotDataSource特性開關。
然後我們就可以啟動local-up叢集。
步驟二:部署external-provisioner、external-snapshotter、external-attacher、driver-registrar、hostpathplugin等sidecar容器。部署指令碼包含serviceaccount、clusterrole等所需要的全部資源。
檢視csi-pod,容器全部處於執行狀態。
步驟三:建立storageClass,以及pvc,檢視pvc以及建立的pv狀態,均已處於bound狀態。
步驟四:建立pod,使用pv,同時往pv中寫入資料。
步驟五:建立volumeSnapshotClass,然後對csi-pvc建立snapshot
檢視建立的volumeSnapshotContent具體資訊。
驗證snapshot是否建立成功。
步驟六:建立csi-restore-pvc,新增我們此前建立的snapshot為資料來源。
檢視pvc,pv狀態
檢視pv詳細資訊,volumeHandle為93119a08-b754-11e8-97ca-0242ac110003,
驗證pv資料是否預填充,我們可以看到建立出來的pv,已有資料填充。
相關服務請訪問:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69908804/viewspace-2639216/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(上)K8S
- K8S 1.12大特性最快最深度解析:通過ComponentConfig更輕鬆安裝和升級K8S
- kubernetes/k8s CSI分析-容器儲存介面分析K8S
- 解析最快的dns 最快最穩定的dnsDNS
- 史上最快、最強大的 Gradle 5.0 釋出,新特性全解!Gradle
- k8s CSI 外掛註冊原理K8S
- 在K8S中,CSI模型有哪些?K8S模型
- K8S儲存外掛-FlexVolume && CSIK8SFlex
- [k8s] k8s基於csi使用rbd儲存K8S
- Oracle 18C新特性之PDB snapshot(快照) CarouselOracle
- 國內目前最快的dns 2022解析最快的dnsDNS
- 自建Kubernetes叢集如何使用阿里雲CSI儲存元件阿里元件
- XML解析-最快的方式SAXXML
- 18C新特性之PDB snapshot Carousel,夠用嗎?
- 國內DNS最快的伺服器 解析最快的dnsDNS伺服器
- dns設定哪個最好最快 最快最穩定的dnsDNS
- kubernetes(k8s)K8S
- 容器化 RDS:藉助 CSI 擴充套件 Kubernetes 儲存能力套件
- [csi]淺聊ceph-csi元件元件
- 最值得參考的 Kubernetes (K8S)安裝文件在這裡K8S
- Kubernetes 使用 ceph-csi 消費 RBD 作為持久化儲存持久化
- 如何接入 K8s 持久化儲存?K8s CSI 實現機制淺析K8S持久化
- k8s實踐——名稱空間隔離+request-key機制解決CSI核心態域名解析K8S
- spring原始碼深度解析— IOC 之 預設標籤解析(下)Spring原始碼
- k8s階段03 持久卷, PV和PVC, CSI儲存方案示例csi-driver-nfs, OpenEBS, ConfigMap, Secret, DownwardAPI和ProjectedK8SNFSAPIProject
- Kubernetes 1.24新特性解讀
- Kubernetes(K8S)命令指南K8S
- Oracle 18C新特性之PDB snapshot Carousel--PDB快照輪播Oracle
- 國內速度最快的dns推薦2022 國內最快最穩定的dnsDNS
- 【真正的ChatGPT】最快速、最靈活的模型ChatGPT模型
- 深度解析Hashtable
- 深度解析HashMapHashMap
- Kubernetes中使用Traefik的sticky特性
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(下)K8SJenkins
- Kubernetes(K8S) kubesphere 安裝K8S
- Kubernetes(K8S) kubesphere 介紹K8S
- C#使用Kubernetes (k8s)C#K8S
- Kubernetes (k8s)呼叫GPU配置K8SGPU