ステートフル ワークロードを検査する

このドキュメントでは、Google Distributed Cloud(GDC)のエアギャップ Kubernetes クラスタで実行されている既存のステートフル ワークロードを検査する方法について説明します。ステートフル ワークロードを使用すると、永続コンテナ ストレージでアプリケーションを実行できます。GDC コンソールまたは kubectl CLI を使用してステートフル ワークロードを表示し、リソース使用量とワークロードの健全性をモニタリングできます。

このドキュメントは、組織のアプリケーション ワークロードの管理を担当するアプリケーション オペレーター グループ内のデベロッパーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。

始める前に

このドキュメントのタスクを完了するには、次のリソースとロールが必要です。

  • Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。

    • Kubernetes クラスタ名を確認するか、プラットフォーム管理者グループのメンバーにクラスタ名を確認します。

    • まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。

    • これらの手順で KUBERNETES_CLUSTER_KUBECONFIG を置き換えるには、Kubernetes クラスタの kubeconfig パスを使用します。

  • 共有クラスタにデプロイされたすべてのワークロードを表示するために必要な権限を取得するには、組織の IAM 管理者に、プロジェクト Namespace でワークロード閲覧者ロール(workload-viewer)を付与するよう依頼してください。

  • 共有クラスタでステートフル ワークロードを検査するために必要な権限を取得するには、組織の IAM 管理者に、プロジェクトの Namespace で Namespace 管理者ロール(namespace-admin)を付与するよう依頼してください。

  • 標準クラスタでステートフル ワークロードを表示して検査するために必要な権限を取得するには、組織の IAM 管理者に、標準クラスタのクラスタ デベロッパー ロール(cluster-developer)を付与するよう依頼してください。

プロジェクトのコンテナ ワークロードを表示する

プロジェクトのコンテナ ワークロードを表示する手順は次のとおりです。

コンソール

  • ナビゲーション メニューで、[Kubernetes Engine] > [ワークロード] を選択します。

    コンテナ ワークロードの詳細(次のようなもの)を表示できます。

    • 名前
    • タイプ
    • Pod の数
    • Kubernetes クラスタ
    • 最終更新日

    コンテナ ワークロードは、属する Kubernetes クラスタごとに整理されます。[クラスタ] プルダウンを選択して、クラスタ コンテキストを切り替えます。

CLI

  • 次のコマンドを実行して、プロジェクト内のすべての Pod を一覧表示します。

    kubectl get pods -n PROJECT_NAMESPACE
    

    出力は次のようになります。

    NAME                        READY   STATUS    RESTARTS   AGE
    nginx-workload-ah-aa-1228   1/1     Running   0          12h
    nginx-workload-ah-ab-6784   1/1     Running   0          11h
    nginx-workload-ah-ac-0045   1/1     Running   0          12h
    

StatefulSet リソースを検査する

StatefulSet リソースのコンポーネントに関する詳細情報をリクエストするには、検査するエンティティを直接ターゲットとするコマンドを実行します。

StatefulSet オブジェクト情報を取得する

StatefulSet オブジェクトの詳細情報を取得するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe statefulset STATEFULSET_NAME

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: StatefulSet オブジェクトを実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

  • STATEFULSET_NAME: StatefulSet オブジェクトの名前。

ライブ構成を YAML 形式で表示する

StatefulSet リソースのライブ構成を YAML 形式で表示するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get statefulset STATEFULSET_NAME -o yaml

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: StatefulSet オブジェクトを実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

  • STATEFULSET_NAME: StatefulSet オブジェクトの名前。

ポッドの一覧表示

StatefulSet によって作成された Pod オブジェクトを一覧表示するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l app=APP_NAME

このコマンドで -l フラグを指定すると、APP_NAME ラベルを持つすべての Pod オブジェクトが一覧表示されます。

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: StatefulSet オブジェクトを実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

  • APP_NAME: StatefulSet オブジェクトによって管理されるステートフル アプリケーションの名前。

特定の Pod 情報を取得する

クラスタ内の特定の Pod に関する情報を取得するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pod POD_NAME

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: Pod を実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

  • POD_NAME: StatefulSet オブジェクトによって管理される Pod の名前。

PVC を一覧表示する

クラスタ内の PersistentVolumeClaim(PVC)オブジェクトを一覧表示するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: PVC を実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

特定の PVC 情報を取得する

クラスタ内の特定の PersistentVolumeClaim(PVC)に関する情報を取得するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pvc PVC_NAME

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: PVC を実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

  • PVC_NAME: StatefulSet オブジェクト用に構成された PVC の名前。

PV 情報を取得する

クラスタ内の特定の PersistentVolume(PV)に関する情報を取得するには、次のコマンドを実行します。

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pv PV_NAME

次のように置き換えます。

  • KUBERNETES_CLUSTER_KUBECONFIG: PV を実行しているクラスタの kubeconfig ファイル。

  • NAMESPACE: Namespace。共有クラスタの場合、これはプロジェクト Namespace である必要があります。Standard クラスタの場合は、任意の Namespace を指定できます。

  • PV_NAME: StatefulSet オブジェクト用に構成された PV の名前。

次のステップ