本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudWatch 日志记录
本主题介绍如何为您的 EKS 集群的控制平面组件配置 Amazon CloudWatch 日志。 CloudWatch 日志记录提供了对集群控制平面操作的可见性,这对于故障排除、审计集群活动和监控 Kubernetes 组件的运行状况至关重要。
启用 CloudWatch 日志记录
CloudWatch 由于数据摄取和存储成本,EKS 控制平面的@@ 日志记录在默认情况下未启用。
要在创建集群时启用控制平面日志记录,您需要在中定义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
如果api
和scheduler
日志类型已经启用,要同时禁用scheduler
和启controllerManager
用,请运行:
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 天数。以下示例将日志保留 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