使用 Azure 磁碟區
GKE on Azure 會自動部署
azuredisk-csi-driver
,
在叢集中佈建及管理 Azure 磁碟區。
Azure 磁碟 CSI 驅動程式的 GKE on Azure 版本與 Kubernetes 叢集版本相關。通常在 GKE 版本發布時,驅動程式版本會是最新版本。叢集升級時,驅動程式會自動更新。
如要進一步瞭解 Azure 上的 GKE 如何提供永久儲存空間,請參閱「儲存空間總覽」。
預設儲存空間級別
根據預設,Azure 上的 GKE 提供下列 StorageClass 選項:
standard-rwo
(預設):佈建具有 LRS 的標準 SSD Azure 磁碟premium-rwo
:使用 LRS 佈建進階 SSD Azure 磁碟
事前準備
使用預設 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
後續步驟
請參閱 Azure Disk CSI 驅動程式的說明文件。
使用特定參數建立自訂儲存空間類別。
瞭解 GKE 中的永久磁碟區。
在 GKE on Azure 叢集上安裝儲存空間驅動程式。