檢查無狀態工作負載

本頁說明如何檢查在 Google Distributed Cloud (GDC) 氣隙 Kubernetes 叢集中執行的現有無狀態工作負載。無狀態工作負載可讓您執行應用程式部署作業,不必儲存資料或應用程式狀態。您可以使用 GDC 控制台或 kubectl CLI 查看無狀態工作負載,監控資源用量和工作負載健康狀態。

本頁內容適用於應用程式運算子群組的開發人員,他們負責管理所屬機構的應用程式工作負載。詳情請參閱 GDC air-gapped 說明文件適用對象

事前準備

如要對 Kubernetes 叢集執行指令,請確認您具備下列資源:

  1. 找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。

  2. 如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。

  3. 請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的 KUBERNETES_CLUSTER_KUBECONFIG

如要取得必要權限,查看專案中部署的所有工作負載,請要求機構 IAM 管理員在專案命名空間中,授予您工作負載檢視者角色 (workload-viewer)。

如要取得檢查無狀態工作負載的必要權限,請要求機構 IAM 管理員在專案命名空間中,授予您命名空間管理員角色 (namespace-admin)。

查看專案的容器工作負載

如要查看專案的容器工作負載,請完成下列步驟:

主控台

  • 在導覽選單中,依序選取「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
    

檢查部署作業

如要要求取得 Deployment 資源元件的詳細資訊,請執行直接以要檢查的實體為目標的指令。

取得 Deployment 物件資訊

如要取得 Deployment 物件的詳細資訊,請執行下列指令:

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

更改下列內容:

  • KUBERNETES_CLUSTER_KUBECONFIG:執行部署作業的叢集 kubeconfig 檔案。

  • NAMESPACE:專案命名空間。

  • DEPLOYMENT_NAMEDeployment 物件的名稱。

以 YAML 格式顯示即時設定

如要查看 Deployment 物件的資訊清單,請執行:

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

這個指令會以 YAML 格式顯示 Deployment 物件的使用中設定。

列出 Pod

如要列出部署作業建立的 Pod 物件,請執行:

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

在這個指令中,-l 標記會列出指定叢集中,具有指定鍵/值組合標籤的所有 Pod 物件。

更改下列內容:

  • KUBERNETES_CLUSTER_KUBECONFIG:執行部署作業的叢集 kubeconfig 檔案。

  • NAMESPACE:專案命名空間。

  • KEY:在部署作業中設定的鍵/值組合標籤集的鍵。舉例來說,如果 .template.metadata.labels 欄位已設定 app: myapp 標籤,則金鑰為 app

  • 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 KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pod POD_NAME

更改下列內容:

  • KUBERNETES_CLUSTER_KUBECONFIG:執行部署作業的叢集 kubeconfig 檔案。

  • NAMESPACE:專案命名空間。

  • POD_NAME:部署作業管理的 Pod 名稱。