跳至主要内容

在 Rancher 中動態配置新儲存

本節描述如何在 Rancher 中為工作負載配置新的持久儲存。

本節假設你了解 Kubernetes 的儲存類別和持久卷宣告的概念。欲了解更多資訊,請參閱儲存運作方式章節。

新儲存通常由雲端服務供應商(如 Amazon EBS)配置。然而,新儲存不一定要在雲端。

如果你有一個區塊儲存池,並且不想使用雲端服務供應商,Longhorn 可以幫助你為 Kubernetes 叢集提供持久儲存。欲了解更多資訊,請參閱使用 Longhorn 的雲原生儲存。

要為工作負載配置新儲存,請按照以下步驟操作:

  1. 新增儲存類別並將其配置為使用你的儲存
  2. 為使用 StatefulSet 部署的 Pod 使用儲存類別

先決條件​

  • 要設定持久儲存,需要 Manage Volumes(管理卷)角色。
  • 如果你正在為託管於雲端的叢集配置儲存,則儲存和叢集主機必須使用相同的雲端服務供應商。
  • 必須啟用雲端服務供應商。有關啟用雲端服務供應商的詳細資訊,請參閱此頁面。
  • 確保你的儲存配置器可用並可啟用。

以下儲存配置器預設已啟用:

名稱外掛
Amazon EBS Diskaws-ebs
AzureFileazure-file
AzureDiskazure-disk
Google Persistent Diskgce-pd
Longhornflex-volume-longhorn
VMware vSphere Volumevsphere-volume
Locallocal
Network File Systemnfs
hostPathhost-path

要使用不在上述列表中的儲存配置器,你需要使用功能旗標來啟用不支援的儲存驅動程式。

1. 新增儲存類別並將其配置為使用你的儲存​

以下步驟描述如何在叢集層級設定儲存類別。

  1. 點擊 ☰ > Cluster Management。
  2. 前往你想要動態配置持久儲存卷的叢集,然後點擊 Explore。
  3. 點擊 Storage > Storage Classes。
  4. 點擊 Create。
  5. 為儲存類別輸入名稱。
  6. 從 Provisioner 下拉選單中,選擇你想要用來動態配置儲存卷的服務。例如,如果你有一個 Amazon EC2 叢集並想為其使用雲端儲存,請使用 Amazon EBS Disk 配置器。
  7. 在 Parameters 標籤中,填寫服務動態配置儲存卷所需的資訊。每個配置器需要不同的資訊來動態配置儲存卷。請參閱服務的文件以獲取如何取得此資訊的幫助。
  8. 點擊 Create。

結果: 儲存類別可供 PVC 使用。

有關儲存類別參數的完整資訊,請參閱官方 Kubernetes 文件。

2. 為使用 StatefulSet 部署的 Pod 使用儲存類別​

StatefulSet 管理 Pod 的部署和擴展,同時為每個 Pod 維護固定的身分。在此 StatefulSet 中,我們將配置一個 VolumeClaimTemplate。由 StatefulSet 管理的每個 Pod 將根據此 VolumeClaimTemplate 部署一個 PersistentVolumeClaim。PersistentVolumeClaim 將參照我們建立的 StorageClass。因此,當部署由 StatefulSet 管理的每個 Pod 時,它將使用在其 PersistentVolumeClaim 中定義的 StorageClass 綁定到動態配置的儲存。

  1. 點擊 ☰ > Cluster Management。
  2. 前往你想要為工作負載使用 StorageClass 的叢集,然後點擊 Explore。
  3. 在左側導覽列中,點擊 Workload。
  4. 點擊 Create。
  5. 點擊 StatefulSet。
  6. 在 Volume Claim Templates 標籤中,點擊 Add Claim Template。
  7. 為持久卷輸入名稱。
  8. 在 StorageClass 欄位中,選擇將為此 StatefulSet 管理的 Pod 動態配置儲存的 StorageClass。
  9. 在 Mount Point 欄位中,輸入工作負載將用來存取卷的路徑。
  10. 點擊 Launch。

結果: 當部署由 StatefulSet 管理的每個 Pod 時,它將向 Kubernetes 主節點請求指定數量的磁碟空間。如果在部署工作負載時有具備指定資源的 PV 可用,Kubernetes 主節點將把 PV 綁定到具有相容 PVC 的 Pod。

要將 PVC 附加到現有工作負載,

  1. 點擊 ☰ > Cluster Management。
  2. 前往你想要為工作負載使用 StorageClass 的叢集,然後點擊 Explore。
  3. 在左側導覽列中,點擊 Workload。
  4. 前往將使用 StorageClass 配置的儲存的工作負載,然後點擊 ⋮ > Edit Config。
  5. 在 Volume Claim Templates 部分,點擊 Add Claim Template。
  6. 輸入持久卷名稱。
  7. 在 StorageClass 欄位中,選擇將為此 StatefulSet 管理的 Pod 動態配置儲存的 StorageClass。
  8. 在 Mount Point 欄位中,輸入工作負載將用來存取卷的路徑。
  9. 點擊 Save。

結果: 工作負載將向 Kubernetes 主節點請求指定數量的磁碟空間。如果在部署工作負載時有具備指定資源的 PV 可用,Kubernetes 主節點將把 PV 綁定到 PVC。如果沒有,Rancher 將配置新的持久儲存。