Google Distributed Cloud(GDC)エアギャップ アプライアンスの永続ストレージを使用すると、Pod のライフサイクルとは無関係にコンテナデータを保持できます。PersistentVolumeClaim(PVC)リソースを使用してボリュームを要求し、容量を拡張して、再起動や再スケジューリングをまたいで状態を保持できます。
このドキュメントは、組織のワークロードを作成するアプリケーション オペレーター グループのデベロッパーを対象としています。
始める前に
このドキュメントのタスクを完了するには、必要な権限をリクエストして環境を準備する必要があります。
IAM ロールをリクエストする
Kubernetes クラスタで永続ボリュームを作成、削除、編集、表示するには、組織の IAM 管理者に名前空間管理者(namespace-admin)ロールを付与するよう依頼してください。このロールはプロジェクトの名前空間にバインドされます。
環境を準備する
事前構成されたベアメタル Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。
Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して
CLUSTER_KUBECONFIGを置き換えます。
永続ボリュームを作成する
次の手順では、GDC standard-rwo StorageClass を使用してボリュームを作成する方法について説明します。GDC で使用可能な StorageClass リソースの詳細については、コンテナの永続ストレージをご覧ください。
PersistentVolumeClaimを作成し、ReadWriteOnceアクセスモードとstandard-rwoストレージ クラスで構成します。kubectl --kubeconfig 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次のように置き換えます。
CLUSTER_KUBECONFIG: Kubernetes クラスタの kubeconfig ファイル。NAMESPACE: PVC を作成するプロジェクトの名前空間。PVC_NAME:PersistentVolumeClaimオブジェクトの名前。
PersistentVolume(PV)オブジェクトは動的にプロビジョニングされます。Kubernetes クラスタ内の新しい PV のステータスを確認します。kubectl get pv --kubeconfig CLUSTER_KUBECONFIG出力は次のようになります。
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60sPVC を使用するようにコンテナ ワークロードを構成します。次の例は、
standard-rwoPVC を使用するnginxPod の例です。kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: apps/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 EOFPVC_NAMEは、作成した PVC に置き換えます。
ボリューム容量を拡張する
PersistentVolumeClaim オブジェクトの容量を増やすには、spec.resources.storage フィールドを新しい容量に更新します。サポートされている最大ボリューム サイズは 14.5 Ti です。
PersistentVolumeClaimオブジェクトのマニフェスト ファイルで、ボリュームをより大きなサイズに更新します。kubectl --kubeconfig 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次のように置き換えます。
CLUSTER_KUBECONFIG: Kubernetes クラスタの kubeconfig ファイル。NAMESPACE: PVC リソースが存在するプロジェクトの名前空間。PVC_NAME: ストレージ サイズを増やす PVC の名前。VOLUME_SNAPSHOT_SIZE: 増やすストレージ サイズ(50Giなど)。
クラスタ内の更新された PV のステータスを確認します。
kubectl get pv --kubeconfig CLUSTER_KUBECONFIG