使用 Azure 磁碟區

GKE on Azure 會自動部署 azuredisk-csi-driver, 在叢集中佈建及管理 Azure 磁碟區。

Azure 磁碟 CSI 驅動程式的 GKE on Azure 版本與 Kubernetes 叢集版本相關。通常在 GKE 版本發布時,驅動程式版本會是最新版本。叢集升級時,驅動程式會自動更新。

如要進一步瞭解 Azure 上的 GKE 如何提供永久儲存空間,請參閱「儲存空間總覽」。

預設儲存空間級別

根據預設,Azure 上的 GKE 提供下列 StorageClass 選項:

事前準備

使用預設 StorageClass

建立 PersistentVolumeClaim 時,如果未設定 spec.storageClassName 欄位,GKE on Azure 會使用預設的 GKE on Azure Azure Disk CSI Driver StorageClass,佈建 Azure Standard SSD 磁碟區

下列 YAML 會建立名為 mypvc 的 PersistentVolumeClaim (PVC),大小為 30 gibibytes。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

使用進階儲存空間級別

建立 PersistentVolumeClaim 並將 spec.storageClassName 欄位設為 premium-rwo 時,Azure 上的 GKE 會佈建 Azure 進階 SSD 磁碟區

下列 YAML 會建立名為 mypvc 的 PersistentVolumeClaim (PVC),大小為 30 GiB。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
spec:
  storageClassName: premium-rwo
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

在 StatefulSet 中參照 StorageClass

如要使用新的 StorageClass,可以在 StatefulSet 的 volumeClaimTemplates 中參照該類別。

在 StatefulSet 的 volumeClaimTemplates 規格中參照 StorageClass 時,Kubernetes 會使用 PersistentVolume (PV) 提供穩定儲存空間。Kubernetes 會呼叫 StorageClass 中定義的佈建器,建立新的儲存空間磁碟區。佈建磁碟區後,Kubernetes 會自動建立 PV。

下列 StatefulSet 會參照 premium-rwo StorageClass,並佈建 1 gibibyte 的磁碟區:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: registry.k8s.io/nginx-slim:0.8
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates: # This is the specification in which you reference the StorageClass
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi
      storageClassName: premium-rwo # This field references the existing StorageClass

後續步驟