如何为我的 Amazon EKS 实例生成日志捆绑包?
上次更新日期:2021 年 1 月 4 日
我正在对 Amazon Elastic Kubernetes Service (Amazon EKS) 实例进行故障排除。我需要收集与该实例关联的所有相关 Amazon EKS 日志。
简短描述
您可以使用 AWSSupport-CollectEKSInstanceLogs 自动化文档来收集您的 Amazon EKS 日志。
重要提示:为了自动执行此操作,您必须在 AmazonEKS 实例上安装并运行 SSM 代理。
解决方法
- 打开 AWS Systems Manager 控制台。
- 在导航窗格中,选择自动化。
- 选择执行自动化。
- 在由 Amazon 所拥有选项卡的自动化文档搜索框中,输入 EKSInstanceLogs,然后选择 AWSSupport-CollectEKSInstanceLogs 文档。
- 选择下一步。
- 在自动化输入页面上,对于 EKSInstanceId,请输入您的目标 Amazon EKS 实例 ID。
- 设置 LogDestination 和 AutomationAssumeRole 参数。
注意:日志捆绑包将上传到在 LogDestination 字段中指定的 Amazon Simple Storage Service (Amazon S3) 存储桶。如果您没有指定存储桶,则可以从实例中检索日志捆绑包。日志捆绑包在本地保存在 /var/log/ 路径下。 - 选择执行自动化。
注意:最佳做法是将 Amazon 托管的 AmazonSSMManagedInstanceCore 策略附加到作为自动化目标的 Amazon Elastic Compute Cloud (Amazon EC2) 实例的 AWS Identity and Access Management (IAM) 角色。如果用户在自动化运行时(在 LogDestination 字段中)提供 S3 存储桶名称,则实例配置文件将具有写入该存储桶的相应权限。要运行自动化并将命令发送到实例,您必须至少具有 ssm:ExecuteAutomation 和 ssm:SendCommand 权限。要读取自动化输出,您必须具有 ssm:GetAutomationExecution 权限。