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

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

このページは、組織のアプリケーション ワークロードの管理を担当するアプリケーション オペレーター グループ内のデベロッパーを対象としています。

始める前に

事前構成されたベアメタル Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。

  1. Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。

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

  3. これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して CLUSTER_KUBECONFIG を置き換えます。

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

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

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

次のコマンドを実行して、プロジェクト内のすべての 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

デプロイを検査する

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

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

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

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    describe deployment DEPLOYMENT_NAME

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

  • CLUSTER_KUBECONFIG: デプロイを実行している Kubernetes クラスタの kubeconfig ファイル。

  • NAMESPACE: プロジェクトの Namespace。

  • DEPLOYMENT_NAME: Deployment オブジェクトの名前。

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

Deployment オブジェクトのマニフェストを表示するには、次のコマンドを実行します。

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    get deployments DEPLOYMENT_NAME -o yaml

このコマンドは、Deployment オブジェクトのライブ構成を YAML 形式で表示します。

ポッドの一覧表示

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

kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l KEY=VALUE

このコマンドでは、-l フラグは、指定された Key-Value ペアのラベルを持つすべての Pod オブジェクトを一覧表示します。

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

  • CLUSTER_KUBECONFIG: デプロイを実行している Kubernetes クラスタの kubeconfig ファイル。

  • NAMESPACE: プロジェクトの Namespace。

  • KEY: デプロイで設定された Key-Value ペアのラベルのキー。たとえば、.template.metadata.labels フィールドに app: myapp ラベルが構成されている場合、キーは app です。

  • VALUE: デプロイで設定された Key-Value ペア ラベルの値。たとえば、.template.metadata.labels フィールドに app: myapp ラベルが構成されている場合、値は my-app になります。

たとえば、Deployment オブジェクトに app: my-app というラベルを付けた場合、次のコマンドを実行すると、そのラベルを持つ Pod オブジェクトが表示されます。

kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
    get pods -l app=my-app

特定の Pod の情報を取得する

特定の Pod オブジェクトに関する情報を取得するには、次のコマンドを実行します。

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

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

  • CLUSTER_KUBECONFIG: デプロイを実行している Kubernetes クラスタの kubeconfig ファイル。

  • NAMESPACE: プロジェクトの Namespace。

  • POD_NAME: デプロイによって管理される Pod の名前。