CloudWatch 記錄功能 - Eksctl 使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CloudWatch 記錄功能

本主題說明如何為 EKS 叢集的控制平面元件設定 Amazon CloudWatch 記錄。CloudWatch 記錄可讓您了解叢集的控制平面操作,這對於疑難排解問題、稽核叢集活動和監控 Kubernetes 元件的運作狀態至關重要。

啟用 CloudWatch 記錄

由於資料擷取和儲存成本,EKS 控制平面的 CloudWatch 記錄預設不會啟用。

若要在建立叢集時啟用控制平面記錄,您需要在 中定義cloudWatch.clusterLogging.enableTypes設定 ClusterConfig(請參閱以下範例)。

因此,如果您的組態檔案具有正確的cloudWatch.clusterLogging.enableTypes設定,您可以使用 建立叢集eksctl create cluster --config-file=<path>

如果您已建立叢集,您可以使用 eksctl utils update-cluster-logging

注意

根據預設,此命令會以計劃模式執行,您需要指定 --approve 旗標,才能將變更套用至叢集。

如果您使用的是組態檔案,請執行:

eksctl utils update-cluster-logging --config-file=<path>

或者,您可以使用 CLI 旗標。

若要啟用所有類型的日誌,請執行:

eksctl utils update-cluster-logging --enable-types all

若要啟用audit日誌,請執行:

eksctl utils update-cluster-logging --enable-types audit

若要啟用日誌以外的所有 controllerManager ,請執行:

eksctl utils update-cluster-logging --enable-types=all --disable-types=controllerManager

如果已啟用 apischeduler日誌類型,若要controllerManager同時停用scheduler和啟用 ,請執行:

eksctl utils update-cluster-logging --enable-types=controllerManager --disable-types=scheduler

這會將 api和 保留controllerManager為唯一啟用的日誌類型。

若要停用所有類型的日誌,請執行:

eksctl utils update-cluster-logging --disable-types all

ClusterConfig 範例

在 EKS 叢集中, 下的 enableTypes 欄位clusterLogging可以取得可能的值清單,以啟用控制平面元件的不同類型日誌。

以下為可能值:

  • api:啟用 Kubernetes API 伺服器日誌。

  • audit:啟用 Kubernetes 稽核日誌。

  • authenticator:啟用驗證器日誌。

  • controllerManager:啟用 Kubernetes 控制器管理員日誌。

  • scheduler:啟用 Kubernetes 排程器日誌。

若要進一步了解,請參閱 EKS 文件

停用所有日誌

若要停用所有類型,請使用 [] 或完全移除 cloudWatch區段。

啟用所有日誌

您可以使用 "*"或 啟用所有類型"all"。例如:

cloudWatch: clusterLogging: enableTypes: ["*"]

啟用一或多個日誌

您可以透過列出您要啟用的類型來啟用類型子集。例如:

cloudWatch: clusterLogging: enableTypes: - "audit" - "authenticator"

日誌保留期間

根據預設,日誌會無限期儲存在 CloudWatch Logs 中。您可以指定在 CloudWatch Logs 中保留控制平面日誌的天數。下列範例會保留日誌 7 天:

cloudWatch: clusterLogging: logRetentionInDays: 7

完成範例

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster-11 region: eu-west-2 nodeGroups: - name: ng-1 instanceType: m5.large desiredCapacity: 1 cloudWatch: clusterLogging: enableTypes: ["audit", "authenticator"] logRetentionInDays: 7