簡體   English   中英

Amazon EKS 上的 Container Insights AccessDeniedException

[英]Container Insights on Amazon EKS AccessDeniedException

我正在嘗試將 Container Insight 添加到我的 EKS 集群,但在部署時遇到了一些問題。 根據我的日志,我得到以下信息:

[error] [output:cloudwatch_logs:cloudwatch_logs.2] CreateLogGroup API responded with error='AccessDeniedException'
[error] [output:cloudwatch_logs:cloudwatch_logs.2] Failed to create log group 

奇怪的是,它似乎假設的角色與我的 EC2 工作節點中的角色相同,而不是我創建的服務帳戶的角色。 我正在創建服務帳戶,並且可以使用以下命令在 AWS 中成功查看它:

eksctl create iamserviceaccount --region ${env:AWS_DEFAULT_REGION} --name cloudwatch-agent --namespace amazon-cloudwatch --cluster ${env:CLUSTER_NAME} --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy --override-existing-serviceaccounts --approve

盡管成功創建了服務帳戶,但我仍然收到 AccessDeniedException。

我發現的一件事是,當我手動將 CloudWatchAgentServerPolicy 添加到我的工作節點時,日志工作正常,但這不是我想要的實現,而是寧願有一種自動添加服務帳戶的方式,而不是直接接觸工作節點,如果可能的。 我遵循的步驟可以在本文檔的底部找到。

非常感謝!

對於遇到此問題的任何人:在快速入門 yaml 中,必須從該文件中刪除並手動創建一個 fluent-bit 服務帳戶。 對我來說,我使用以下命令創建了它:

eksctl create iamserviceaccount --region ${env:AWS_DEFAULT_REGION} --name fluent-bit --namespace amazon-cloudwatch --cluster ${env:CLUSTER_NAME} --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy --override-existing-serviceaccounts --approve

運行此命令並從 yaml 中刪除 fluent-bit 服務帳戶后,刪除並重新應用您的所有 amazon-cloudwatch 命名空間項目,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM