このページでは、Google Distributed Cloud(GDC)エアギャップ ソブリン ユニバースでコンテナ ワークロードの永続ストレージを作成して管理する方法について説明します。永続ストレージは、ワークロードのスケジュール場所に関係なく、アプリケーションに一貫した ID と安定したホスト名を提供します。
このページは、組織のアプリケーション ワークロードの作成を担当するアプリケーション オペレーター グループ内のデベロッパーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。
始める前に
このドキュメントのタスクを完了するには、次のリソースとロールが必要です。
Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者グループのメンバーにクラスタ名を確認します。
まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
Kubernetes クラスタの kubeconfig パスを使用して、これらの手順の
KUBERNETES_CLUSTER_KUBECONFIGを置き換えます。
共有クラスタに永続ボリュームを作成するために必要な権限を取得するには、組織の IAM 管理者に、プロジェクトの Namespace で Namespace 管理者ロール(
namespace-admin)を付与するよう依頼してください。標準クラスタに永続ボリュームを作成するために必要な権限を取得するには、組織の IAM 管理者に、標準クラスタのクラスタ デベロッパー ロール(
cluster-developer)を付与するよう依頼します。
永続ボリュームを作成する
次の手順では、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。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合、任意の 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。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。PVC_NAME: ストレージ サイズを増やす PVC の名前。VOLUME_SNAPSHOT_SIZE: 増やすストレージ サイズの量(50Giなど)。
クラスタ内の更新された PV のステータスを確認します。
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG