可設定狀態的應用程式 (例如資料庫) 會儲存工作階段之間的資料,並且需要持續性儲存區來儲存資料。保留的資料稱為應用程式的狀態。您之後可以擷取該資料,並在下一個工作階段中使用資料。Kubernetes 提供持續性磁碟區做為能夠保留其狀態和資料的物件。

在 vSphere 環境中,持續性磁碟區物件由資料存放區上的虛擬磁碟提供支援。資料存放區由儲存區原則表示。當 vSphere 管理員建立儲存區原則 (例如 gold) 並將其指派給 主管 中的命名空間後,儲存區原則會在 vSphere 命名空間 和任何可用的 TKG 叢集中顯示為相符的 Kubernetes 儲存區類別。

做為 DevOps 工程師,您可以在持續性磁碟區宣告規格中使用此儲存區類別。然後,您可以從持續性磁碟區宣告部署使用該儲存區的應用程式。在此範例中,會動態建立應用程式的持續性磁碟區。

必要條件

確保您的 vSphere 管理員已建立適當的儲存區原則,並且已將原則指派給命名空間。

程序

  1. 在 vSphere Kubernetes 環境中存取您的命名空間。
  2. 確認儲存區類別可供使用。
  3. 建立持續性磁碟區宣告。
    1. 建立包含持續性磁碟區宣告組態的 YAML 檔案。
      在此範例中,檔案會參考 金級儲存區類別。
      若要佈建 ReadWriteMany 持續性磁碟區,請將 accessModes 設定為 ReadWriteMany
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. 將持續性磁碟區宣告套用至 TKG 叢集。
      kubectl apply -f pvc_name.yaml
      此命令會動態建立 Kubernetes 持續性磁碟區和 vSphere 磁碟區,該磁碟區具有滿足宣告儲存區需求的支援虛擬磁碟。
    3. 檢查持續性磁碟區宣告的狀態。
      kubectl get pvc my-pvc

      輸出顯示磁碟區已繫結到持續性磁碟區宣告。

      NAME     STATUS    VOLUME   CAPACITY   ACCESSMODES   STORAGECLASS   AGE
      my-pvc   Bound     my-pvc   2Gi        RWO           gold           30s
  4. 建立掛接持續性磁碟區的網繭。
    1. 建立包含持續性磁碟區的 YAML 檔案。
      此檔案包含這些參數。
      ...
      volumes:
          - name: my-pvc
            persistentVolumeClaim:
              claimName: my-pvc
    2. 從 YAML 檔案部署網繭。
      kubectl create -f pv_pod_name.yaml
    3. 確認已建立網繭。
      kubectl get pod
      NAME       READY   STATUS    RESTARTS   AGE
      pod_name   1/1     Ready     0          40s

結果

您設定的網繭會使用持續性磁碟區宣告中所述的持續性儲存區。