Azure Disk ボリュームを使用する
GKE on Azure は、azuredisk-csi-driver
を自動的にデプロイして、クラスタ内の Azure Disk ボリュームのプロビジョニングと管理を行います。
GKE on Azure の Azure Disk CSI ドライバのバージョンは、Kubernetes クラスタ バージョンに関連付けられています。ドライバは通常、GKE がリリースされた時点で入手可能な最新バージョンになります。クラスタがアップグレードされると、ドライバも自動的に更新されます。
GKE on Azure が永続ストレージを提供する仕組みについては、ストレージの概要をご覧ください。
デフォルトのストレージ クラス
GKE on Azure には、デフォルトで次の StorageClass オプションが用意されています。
standard-rwo
(デフォルト): LRS を使用して標準の SSD Azure ディスクをプロビジョニングするpremium-rwo
: LRS を使用してプレミアム SSD Azure ディスクをプロビジョニングする
始める前に
デフォルトの StorageClass を使用する
spec.storageClassName
フィールドを設定せずに PersistentVolumeClaim を作成すると、GKE on Azure は、GKE on Azure のデフォルトの Azure Disk CSI ドライバの StorageClass を使用して、Azure 標準 SSD ボリュームをプロビジョニングします。
次の YAML は、mypvc
という PersistentVolumeClaim(PVC)を 30 GiB のサイズで作成します。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
プレミアム ストレージ クラスを使用する
PersistentVolumeClaim を作成し、フィールド spec.storageClassName
を premium-rwo
に設定すると、GKE on Azure は、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 で定義されたプロビジョナーを呼び出して新しいストレージ Volume を作成します。Volume がプロビジョニングされると、Kubernetes が自動的に PV を作成します。
次の StatefulSet は、premium-rwo
StorageClass を参照し、1 GiB のボリュームをプロビジョニングします。
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 クラスタにストレージ ドライバをインストールする。