このトピックでは、永続ボリューム (PV) と永続ボリューム要求 (PVC) を使用して静的にプロビジョニングされたディスクボリュームをマウントする方法について説明します。
前提条件
ディスクをボリュームとしてマウントするには、まずElastic Compute Service (ECS) コンソールでディスクを作成する必要があります。 詳細については、「空のデータディスクの作成」をご参照ください。
PVとPVCを使用して静的にプロビジョニングされたディスクボリュームをマウントする
ディスクタイプのPVを作成します。
Container Service for Kubernetes (ACK) コンソールで、またはYAMLファイルを使用して、ディスクタイプのPVを作成できます。
YAM ファイルによる PV の作成
次のテンプレートを使用して、disk-pv.yamlという名前のファイルを作成します:
apiVersion: v1 kind: PersistentVolume metadata: name: d-bp1j17ifxfasvts3**** labels: failure-domain.beta.kubernetes.io/zone: cn-hangzhou-b failure-domain.beta.kubernetes.io/region: cn-hangzhou spec: capacity: storage: 20Gi storageClassName: disk accessModes: - ReadWriteOnce flexVolume: driver: "alicloud/disk" fsType: "ext4" options: volumeId: "d-bp1j17ifxfasvts3****"
説明PVの
名前
は、volumeId
で指定されたディスクIDと同じである必要があります。次のコマンドを実行してPVを作成します。
kubectl apply -f disk-pv.yaml
ACKコンソールでPVを作成します。
ACK コンソールにログインします。
ACK コンソールの左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけます。 次に、クラスターの名前をクリックするか、[操作] 列の [詳細] をクリックします。
詳細ページの左側のナビゲーションウィンドウで、
を選択します。[ボリューム] ページの右上隅にある [作成] をクリックします。
[PVの作成] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
PVタイプ
この例では、[クラウドディスク] が選択されています。
ボリュームプラグイン
この例では、Flexvolumeが選択されています。
アクセスモード
デフォルトでは、このパラメーターはReadWriteOnceに設定されています。
ディスクID
クラスターと同じリージョンとゾーンにデプロイされているマウント可能なディスクを選択します。
ファイルシステムタイプ
ディスクのファイルシステムタイプを選択します。 有効な値: ext4、ext3、xfs、およびvfat。 デフォルト値: ext4
ラベル
PVにラベルを追加します。
設定が完了したら、[作成] をクリックします。
PVCを作成します。
次のテンプレートを使用して、disk-pvc.yamlという名前のファイルを作成します。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-disk spec: accessModes: - ReadWriteOnce storageClassName: disk resources: requests: storage: 20Gi
次のコマンドを実行してPVCを作成します。
kubectl apply -f disk-pvc.yaml
ポッドを作成します。
次のテンプレートを使用して、disk-pod.yamlという名前のファイルを作成します。
apiVersion: v1 kind: Service metadata: name: nginx labels: app: nginx spec: ports: - port: 80 name: web clusterIP: None selector: app: nginx --- apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: selector: matchLabels: app: nginx serviceName: "nginx" template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 name: web volumeMounts: - name: pvc-disk mountPath: /data volumes: - name: pvc-disk persistentVolumeClaim: claimName: pvc-disk
次のコマンドを実行してポッドを作成します。
kubectl apply -f disk-pod.yaml