如何为我的 Amazon EKS 实例生成日志包?

1 分钟阅读
0

我正在对 Amazon Elastic Kubernetes Service(Amazon EKS)实例进行故障排除。我需要收集与该实例相关的所有 Amazon EKS 日志。

简短描述

使用 AWSSupport-CollectEKSInstanceLogs 运行手册收集 Amazon EKS 日志。

**重要事项:**要使自动化发挥作用,您必须在 Amazon EKS 实例上安装并运行 AWS Systems Manager Agent(SSM Agent)。

解决方法

**注意:**以下解决方案仅适用于 Linux 的 Amazon EKS 中的 Worker 节点。

要为 Amazon EKS 实例生成日志包,请完成以下步骤:

  1. 打开 AWS Systems Manager 控制台
  2. 在导航窗格中,选择自动化
  3. 选择执行自动化
  4. Amazon 所有选项卡的自动化文档搜索框中,输入 EKSInstanceLogs。然后,选择 AWSSupport-CollectEKSInstanceLogs
  5. 选择下一步
  6. 自动化输入页面上,对于 EKSInstanceId,输入您的目标 Amazon EKS 实例 ID。
  7. 设置 LogDestinationAutomationAssumeRole 参数。
    **注意:**日志包将上传到 LogDestination 字段中指定的Amazon Simple Storage Service (Amazon S3) 存储桶。如果您没有指定存储桶,可以从实例检索日志包。日志包保存在本地的 /var/log/ 路径中。
  8. 选择执行自动化

运行 AWSSupport-CollectEKSInstanceLogs 时,请使用以下最佳实践和要求:

  • 最佳实践是将亚马逊托管的 AmazonSSMManagedInstanceCore 策略附加到相关的 AWS Identity and Access Management(IAM)角色。此 IAM 角色适用于以自动化为目标的 Amazon Elastic Compute Cloud(Amazon EC2)实例。
  • 如果在自动化运行之前在 LogDestination 字段中提供了 S3 存储桶名称,则实例配置文件可以写入该存储桶。
  • 要运行自动化并将命令发送到实例,您必须至少拥有ssm:ExecuteAutomationssm:SendCommand 权限。
  • 要读取自动化输出,您必须拥有 ssm:GetAutomationExecution 权限。
  • 对于 Amazon Linux 2,IMDS 端点默认支持 IMDSv2 和 IMDSv1。如果您选择配置 IMDSv2,则其他版本将不再起作用。由于 AWSSupport-CollectEKSInstanceLogs 使用 IMDSv1,因此在上传收集的日志时,系统可能会显示一个待处理步骤。

相关信息

配置 Systems Manager 所需的实例权限

GitHub 网站上的 EKS Logs Collector

没有评论