我正在按照以下说明将EKS集群日志发送到CloudWatch:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs.html
由于无法正常工作,我运行了建议,命令将流利的豆荚之一的原木拖尾:
kubectl logs fluentd-cloudwatch-fc7vx -n amazon-cloudwatch
我看到此错误:
error_class = Aws :: CloudWatchLogs :: Errors :: AccessDeniedException error =“用户: arn:aws:sts :: 913xxxxx71:assumed-role / eksctl-prod-nodegroup-standard-wo-NodeInstanceRole-1ESBFXHSI966X / i-0937e3xxxx07ea6 无权执行:logs:DescribeLogGroups在资源上: arn:aws:logs:us-west-2:913617820371:log-group :: log-stream:“
我拥有一个具有正确权限的角色,但是如何将角色赋予arn:aws:sts::913xxxxx71:assumed-role/eksctl-prod-nodegroup-standard-wo-NodeInstanceRole-1ESBFXHSI966X/i-0937e3xxxx07ea6
用户?
答案 0 :(得分:1)
为此,您需要承担角色。这可以通过几种不同的方式完成:
一个警告是您假设的角色必须具有信任关系设置,以便允许其他人承担。上面(1)的链接中有此信任关系设置的示例。
话虽如此,您可能不应该针对您的用例进行任何此类操作。
如果您的其他角色处于需要更新以允许假设的状态,那么使用所需的权限直接更新eksctl-prod-nodegroup-standard-wo-NodeInstanceRole-1ESBFXHSI966X
角色将变得更加容易和安全。
理想情况下,您可以将角色与具有所需权限的其他角色所附加的同一策略相关联。
答案 1 :(得分:0)
您需要执行将CloudWatchAgentServerPolicy策略附加到此处记录的集群工作节点角色的步骤:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-prerequisites.html