本文說明如何檢查在 Google Distributed Cloud (GDC) 氣隙 Kubernetes 叢集中執行的現有有狀態工作負載。有狀態的工作負載可讓您使用常駐容器儲存空間執行應用程式。您可以使用 GDC 控制台或 kubectl CLI 查看有狀態的工作負載,監控資源用量和工作負載健康狀態。
本文適用於應用程式運算子群組中的開發人員,負責管理所屬機構的應用程式工作負載。詳情請參閱 GDC air-gapped 說明文件適用對象。
事前準備
如要完成本文中的工作,您必須要求必要的權限並準備環境。
要求 IAM 角色
您必須具備特定角色,才能取得查看及檢查有狀態工作負載所需的權限。您需要的角色取決於您是在組織範圍的共用叢集,還是專案範圍的標準叢集內工作。詳情請參閱「Kubernetes 叢集設定」。
共用叢集角色
請專案 IAM 管理員根據要執行的工作,在專案命名空間中授予您下列角色:
- 工作負載檢視者 (
workload-viewer):查看部署至共用叢集的所有工作負載。 - 命名空間管理員 (
namespace-admin):在共用叢集專案命名空間中建立、刪除、編輯或查看工作負載。
這些角色會繫結至專案命名空間。
標準叢集角色
如要在標準叢集中建立、刪除、編輯或查看工作負載,請要求專案 IAM 管理員授予您「叢集開發人員」 (cluster-developer) 角色。這個角色會繫結至專案命名空間。
準備環境
如要使用 API 對 Kubernetes 叢集執行指令,請確認您具備下列資源:
找出 Kubernetes 叢集名稱,或向平台管理員群組成員詢問叢集名稱。
登入並產生 Kubernetes 叢集的 kubeconfig 檔案。
請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的
KUBERNETES_CLUSTER_KUBECONFIG。
查看專案的容器工作負載
如要查看專案的容器工作負載,請完成下列步驟:
控制台
在導覽選單中,依序選取「Kubernetes Engine」>「工作負載」。
您可以查看容器工作負載的詳細資料,例如:
- 名稱
- 類型
- Pod 數量
- Kubernetes 叢集
- 上次修改日期
容器工作負載會依所屬的 Kubernetes 叢集分類。選取「叢集」下拉式選單,切換叢集內容。
kubectl
執行下列指令,列出專案中的所有 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:命名空間。如果是共用叢集,這必須是專案命名空間。如果是標準叢集,則可以是任何命名空間。STATEFULSET_NAME:StatefulSet物件的名稱。
以 YAML 格式顯示即時設定
如要以 YAML 格式顯示 StatefulSet 資源的即時設定,請執行下列指令:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get statefulset STATEFULSET_NAME -o yaml
更改下列內容:
KUBERNETES_CLUSTER_KUBECONFIG:執行StatefulSet物件的叢集 kubeconfig 檔案。NAMESPACE:命名空間。如果是共用叢集,這必須是專案命名空間。如果是標準叢集,則可以是任何命名空間。STATEFULSET_NAME:StatefulSet物件的名稱。
列出 Pod
如要列出 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:命名空間。如果是共用叢集,這必須是專案命名空間。如果是標準叢集,則可以是任何命名空間。APP_NAME:由StatefulSet物件管理的具狀態應用程式名稱。
取得特定 Pod 的資訊
如要取得叢集中特定 Pod 的相關資訊,請執行:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pod POD_NAME
更改下列內容:
KUBERNETES_CLUSTER_KUBECONFIG:執行 Pod 的叢集 kubeconfig 檔案。NAMESPACE:命名空間。如果是共用叢集,這必須是專案命名空間。如果是標準叢集,則可以是任何命名空間。POD_NAME:由StatefulSet物件管理的 Pod 名稱。
列出 PVC
如要列出叢集中的 PersistentVolumeClaim (PVC) 物件,請執行:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get pvc
更改下列內容:
KUBERNETES_CLUSTER_KUBECONFIG:執行 PVC 的叢集 kubeconfig 檔案。NAMESPACE:命名空間。如果是共用叢集,這必須是專案命名空間。如果是標準叢集,則可以是任何命名空間。
取得特定 PVC 資訊
如要取得叢集中特定 PersistentVolumeClaim (PVC) 的資訊,請執行:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pvc PVC_NAME
更改下列內容:
KUBERNETES_CLUSTER_KUBECONFIG:執行 PVC 的叢集 kubeconfig 檔案。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:命名空間。如果是共用叢集,這必須是專案命名空間。如果是標準叢集,則可以是任何命名空間。PV_NAME:為StatefulSet物件設定的 PV 名稱。