在 EKS 附加叢集上安裝 Cloud Logging

本文說明 GKE 連結的叢集如何與 Cloud Logging 整合,並示範如何存取記錄。

總覽

GKE 附加叢集支援 Cloud Logging,可記錄工作負載和在工作站節點上執行的系統元件。

GKE 附加叢集包含以 Fluentbit 為基礎的記錄代理程式,會以 Daemonset 的形式在工作站節點上執行。記錄代理程式收集的資料可像其他指標和記錄資料一樣管理及刪除,詳情請參閱 Cloud Logging 說明文件。

事前準備

  1. 符合 GKE 附加叢集的前提條件

  2. 授權 Cloud Logging 和 Cloud Monitoring,設定 Google Cloud Observability 的權限。

我們會蒐集哪些資料

您可以設定 GKE 附加叢集,擷取下列任何或所有資訊:

  • 工作負載記錄

啟用記錄功能

附加叢集時,如果未指定記錄模式,GKE 附加叢集會預設啟用系統記錄功能。如要記錄工作負載,叢集必須使用 Kubernetes 1.23 以上版本。

如要在附加叢集時啟用工作負載記錄,請按照附加 EKS 叢集的操作說明,並在 gcloud container attached clusters register 指令中加入選用的 --logging 旗標:

gcloud container attached clusters register CLUSTER_NAME
...
--logging=LOGGING_FLAG

如要在已連結的叢集上啟用工作負載記錄功能,請按照更新 EKS 叢集的指示操作,並在 gcloud container attached clusters update 指令中加入選用的 --logging 標記:

gcloud container attached clusters update CLUSTER_NAME
...
--logging=LOGGING_FLAG

LOGGING_FLAG 替換為標記,指出要啟用哪種記錄:

  • NONE:停用記錄。
  • SYSTEM:啟用在特定命名空間中執行的系統工作負載記錄。
  • SYSTEM,WORKLOAD:在叢集的工作站節點上啟用系統和工作負載活動的記錄功能。

存取記錄

您可以使用下列幾種方式,在 Cloud Logging 中存取 GKE 附加叢集記錄:

  • 記錄檔探索工具:您可以使用記錄篩選器選取 Kubernetes 資源 (例如叢集、節點、命名空間、Pod 或容器記錄),直接從記錄檔探索工具查看記錄。

  • Google Cloud CLI - 使用 gcloud logging read 指令,選取適當的叢集、節點、Pod 和容器記錄。

瞭解記錄檔

Cloud Logging 中的記錄是記錄項目的集合,每個記錄項目都對應到一個特定類型的記錄資源

資源類型

以下是 GKE 連結叢集的專屬資源類型:

資源類型 顯示名稱
k8s_container 工作負載容器記錄

當 GKE 連結的叢集寫入叢集記錄時,每個記錄項目都會包含資源類型。瞭解記錄檔的顯示位置,有助於在需要時輕鬆找到記錄檔。

系統應用程式記錄

系統應用程式記錄檔屬於 k8s_container 資源類型。包括 GKE 連結叢集在工作站節點上安裝的 Pod 記錄。具體來說,下列命名空間中執行的容器都會納入:

  • gke-connect
  • gke-system
  • gmp-system
  • asm-user-auth
  • cnrm-system
  • config-management-system
  • gatekeeper-system
  • gmp-public
  • istio-system
  • knative-serving

在 Cloud Logging 使用者介面中尋找記錄

您可以在 Cloud Logging 使用者介面中,使用 Logs Explorer 查看記錄。

記錄檔探索工具

使用查詢產生器時,您可以手動新增查詢參數來建構查詢。舉例來說,如要探索系統工作負載的記錄,可以先選取或搜尋 k8s_container 資源類型,然後選取位置和叢集名稱。然後,您可以篩選容器或 Pod 名稱,縮小搜尋範圍。

您也可以使用 記錄檔欄位探索工具,在 Logs Explorer 中建構搜尋查詢。這個部分會顯示指定記錄檔欄位的記錄項目數量,並依數量遞減排序。使用記錄欄位探索器,可輕鬆為資源選取 Kubernetes 值,因此特別適合用於 GKE 連結的叢集記錄。舉例來說,您可以選取特定叢集、命名空間、Pod 名稱和容器名稱的記錄。

詳情請參閱「使用記錄檔探索工具」。

查詢範例

本節包含您可在記錄檔探索工具中執行的查詢範例。

範例 1:取得Google Cloud 叢集 CLUSTER_NAMEgke-connect-agent 容器記錄:

resource.type="k8s_container"
resource.labels.cluster_name="attachedClusters/CLUSTER_NAME"
resource.labels.container_name="gke-connect-agent"

後續步驟