このページでは、Google Distributed Cloud(GDC)エアギャップ ソブリン ユニバースでコンテナ ワークロードの永続ストレージを作成して管理する方法について説明します。永続ストレージは、ワークロードのスケジュール場所に関係なく、アプリケーションに一貫した ID と安定したホスト名を提供します。
このページは、組織のアプリケーション ワークロードの作成を担当するアプリケーション オペレーター グループ内のデベロッパーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。
始める前に
Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。
まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して
KUBERNETES_CLUSTER_KUBECONFIGを置き換えます。
永続ボリュームを作成するために必要な権限を取得するには、プロジェクトの Namespace で Namespace 管理者ロール(namespace-admin)を付与するよう組織の IAM 管理者に依頼してください。
永続ボリュームを作成する
次の手順では、GDC standard-rwo StorageClass を使用してボリュームを作成する方法について説明します。GDC で使用可能な StorageClass リソースの詳細については、コンテナの永続ストレージをご覧ください。
PersistentVolumeClaimリソース(PVC)を作成し、ReadWriteOnceアクセスモードとstandard-rwoストレージ クラスで構成します。kubectl --kubeconfig KUBERNETES_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次のように置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: PVC を作成するプロジェクト Namespace。PVC_NAME:PersistentVolumeClaimオブジェクトの名前。
PVC オブジェクトが使用可能であることを確認します。
kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE出力は次のようになります。
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 10Gi RWO Bound pvc-name standard-rwo 60sPVC を使用するようにコンテナ ワークロードを構成します。以下は、
standard-rwoPVC を使用するnginxPod の例です。kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: 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 KUBERNETES_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次のように置き換えます。
KUBERNETES_CLUSTER_KUBECONFIG: クラスタの kubeconfig ファイル。NAMESPACE: PVC リソースが存在するプロジェクト Namespace。PVC_NAME: ストレージ サイズを増やす PVC の名前。VOLUME_SNAPSHOT_SIZE: 増やすストレージ サイズの量(50Giなど)。
クラスタ内の更新された PV のステータスを確認します。
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG