建立 Kubernetes 持久卷和儲存類別
當部署需要保留資料的應用程式時,你需要建立持久儲存。持久儲存允許你將應用程式資料儲存在執行應用程式的 Pod 外部。這種儲存方式讓你能夠維護應用程式資料,即使應用程式的 Pod 發生故障。
本節中的文件假設你了解 Kubernetes 的持久卷、持久卷宣告和儲存類別的概念。欲了解更多資訊,請參閱儲存運作方式章節。
先決條件
要設定持久儲存,需要 Manage Volumes(管理卷)角色。
如果你正在為託管於雲端的叢集配置儲存,則儲存和叢集主機必須使用相同的雲端服務供應商。
要使用 Rancher 配置新儲存,必須啟用雲端服務供應商。有關啟用雲端服務供應商的詳細資訊,請參閱此頁面。
要將現有的持久儲存附加到叢集,不需要啟用雲端服務供應商。
設定現有儲存
設定現有儲存的整體工作流程如下:
- 設定你的持久儲存。這可能是基礎設施供應商中的儲存,或者可能是你自己的儲存。
- 新增一個參照持久儲存的持久卷(PV)。
- 新增一個參照 PV 的持久卷宣告(PVC)。
- 在你的工作負載中將 PVC 掛載為卷。
有關詳細資訊和先決條件,請參閱此頁面。
在 Rancher 中動態配置新儲存
配置新儲存的整體工作流程如下:
- 新增一個 StorageClass 並將其配置為使用你的儲存供應商。StorageClass 可以參照基礎設施供應商中的儲存,或者可以參照你自己的儲存。
- 新增一個參照儲存類別的持久卷宣告(PVC)。
- 在你的工作負載中將 PVC 掛載為卷。
有關詳細資訊和先決條件,請參閱此頁面。
Longhorn 儲存
Longhorn 是一個輕量級、可靠且易於使用的 Kubernetes 分散式區塊儲存系統。
Longhorn 是免費的開源軟體。最初由 Rancher Labs 開發,現在作為雲原生運算基金會的沙盒專案進行開發。它可以透過 Helm、kubectl 或 Rancher UI 安裝在任何 Kubernetes 叢集上。
如果你有一個區塊儲存池,Longhorn 可以幫助你為 Kubernetes 叢集提供持久儲存,而無需依賴雲端服務供應商。有關 Longhorn 功能的更多資訊,請參閱文件。
Rancher v2.5 簡化了在 Rancher 管理的叢集上安裝 Longhorn 的過程。欲了解更多資訊,請參閱使用 Longhorn 的雲原生儲存。
配置儲存範例
我們提供了如何使用 NFS、vSphere 和 Amazon EBS 配置儲存的範例。
GlusterFS 卷
在將資料儲存在 GlusterFS 卷上的叢集中,你可能會遇到在重新啟動 kubelet 後 Pod 無法掛載卷的問題。有關如何防止這種情況發生的詳細資訊,請參閱此頁面。
iSCSI 卷
在將資料儲存在 iSCSI 卷上的 Rancher 啟動的 Kubernetes 叢集中,你可能會遇到 kubelet 無法自動連接 iSCSI 卷的問題。有關解決此問題的詳細資訊,請參閱此頁面。
hostPath 卷
在建立 hostPath 卷之前,你需要在叢集配置中設定一個 extra_bind。這將在你的 kubelet 中將路徑掛載為卷,然後可以在工作負載中用於 hostPath 卷。
將 VMware vSphere 雲端服務供應商從 In-tree 遷移到 Out-of-tree
Kubernetes 正在逐步停止維護 in-tree 雲端服務供應商。vSphere 有一個 out-of-tree 雲端服務供應商,可以透過安裝 vSphere 雲端服務供應商和雲端儲存外掛來使用。
有關如何從 in-tree vSphere 雲端服務供應商遷移到 out-of-tree,以及在遷移後管理現有 VM 的說明,請參閱此頁面。