本頁說明如何在 Google Distributed Cloud (GDC) 氣隙主權宇宙中,為容器工作負載建立及管理永久儲存空間。無論工作負載排程在哪裡,持續性儲存空間都能為應用程式提供一致的身分和穩定的主機名稱。
本頁內容適用於應用程式運算子群組中的開發人員,他們負責為所屬機構建立應用程式工作負載。詳情請參閱 GDC 氣隙環境說明文件適用對象。
事前準備
如要對 Kubernetes 叢集執行指令,請確認您具備下列資源:
- 找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。 
- 如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。 
- 請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的 - KUBERNETES_CLUSTER_KUBECONFIG。
如要取得建立永久磁碟所需的權限,請要求機構的 IAM 管理員在專案命名空間中,授予您命名空間管理員角色 (namespace-admin)。
建立永久磁碟區
以下操作說明將介紹如何使用 GDC standard-rwo StorageClass 建立磁碟區。如要進一步瞭解 GDC 中可用的 StorageClass 資源,請參閱「容器的永久儲存空間」。
- 建立 - PersistentVolumeClaim資源 (PVC),並設定- ReadWriteOnce存取模式和- standard-rwo儲存空間類別:- kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: standard-rwo EOF- 更改下列內容: - KUBERNETES_CLUSTER_KUBECONFIG:叢集的 kubeconfig 檔案。
- NAMESPACE:要在其中建立 PVC 的專案命名空間。
- PVC_NAME:- PersistentVolumeClaim物件的名稱。
 
- 確認 PVC 物件是否可用: - kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE- 輸出結果會與下列內容相似: - NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 10Gi RWO Bound pvc-name standard-rwo 60s
- 設定容器工作負載以使用 PVC。以下是使用 - standard-rwoPVC 的- nginxPod 範例:- kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: Pod metadata: name: web-server-deployment labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /usr/share/nginx/html name: data volumes: - name: data persistentVolumeClaim: claimName: PVC_NAME EOF- 將 - PVC_NAME替換為您建立的 PVC。
擴充磁碟區容量
如要增加 PersistentVolumeClaim 物件的容量,請將 spec.resources.storage 欄位更新為新容量。支援的磁碟區大小上限為 14.5 Ti。
- 在 - PersistentVolumeClaim物件的資訊清單檔案中,將音量更新為較大的值:- kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: VOLUME_STORAGE_SIZE EOF- 更改下列內容: - KUBERNETES_CLUSTER_KUBECONFIG:叢集的 kubeconfig 檔案。
- NAMESPACE:PVC 資源所在的專案命名空間。
- PVC_NAME:要增加儲存空間大小的 PVC 名稱。
- VOLUME_SNAPSHOT_SIZE:要增加的儲存空間大小,例如- 50Gi。
 
- 檢查叢集中更新的 PV 狀態: - kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG