CloudWatch 日志记录 - Eksctl 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

如果apischeduler日志类型已经启用,要同时禁用scheduler和启controllerManager用,请运行:

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

这将使apicontrollerManager成为唯一启用的日志类型。

要禁用所有类型的日志,请运行:

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