创建 IAM 角色
您安装 Amazon Distro for OpenTelemetry (ADOT) 所在的每个集群必须让此角色来授予您的 Amazon 服务账户权限。执行以下步骤创建 IAM 角色并将其与 Amazon EKS 服务账户关联。有关更多信息,请参阅服务账户的 IAM 角色。
-
创建您的服务账户和 IAM 角色。请注意此命令中包含以下标志:
-
对于
--name标志,指定您要创建的服务账户的名称。在本例中,它是。adot-collector -
对于
--namespace标志,指定您的服务帐户将驻留的命名空间;在此示例中,您将使用命名空间。default -
对于
--cluster标志,指定集群的名称。 -
使用
--attach-policy-arn参数指定您用于角色的集成的托管 IAM policy。例如,如果您使用 ADOT Collector 向 CloudWatch 发送指标数据,则指定CloudWatchAgentServerPolicy托管策略。 -
--override-existing-serviceaccounts标志适用于已在集群中创建的但没有 IAM 角色的服务账户。如果该服务账户没有 IAM 角色,您可以排除此标志。考虑到上述注释,输入以下命令:
-
eksctl create iamserviceaccount \ --nameadot-collector\ --namespacedefault\ --clustermy-cluster\ --attach-policy-arn arn:aws:iam::aws:policy/AmazonPrometheusRemoteWriteAccess\ --attach-policy-arn arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess\ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy\ --approve \ --override-existing-serviceaccounts
在以下收集器配置中,已添加配置的 serviceAccount: adot-collector 字段以将 IAM 角色用于服务账户。