创建 IAM 角色 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

创建 IAM 角色

安装 Amazon Distro for OpenTelemetry (ADOT) 所在的每个集群必须让此角色来授予您的 Amazon 服务账户权限。按照以下步骤创建 IAM 角色并使用 IRSA 将其与 Amazon EKS 服务账户关联:

  1. 为集群创建 IAM OIDC 提供商.

  2. 创建您的服务账户和 IAM 角色。请注意此命令中包含以下标志:

    • 对于 --name 标志,指定您要创建的服务账户的名称。在本例中,它是 adot-collector

    • 对于 --namespace 标志,指定您的服务帐户将驻留的命名空间;在此示例中,您将使用 default 命名空间。

    • 对于 --cluster 标志,指定集群的名称。

    • 使用 --attach-policy-arn 参数指定您用于角色的集成的托管 IAM policy。例如,如果您使用 ADOT Collector 向 CloudWatch 发送指标数据,则指定 CloudWatchAgentServerPolicy 托管策略。

    • --override-existing-serviceaccounts 标志适用于已在集群中创建的但没有 IAM 角色的服务账户。如果该服务账户没有 IAM 角色,您可以排除此标志。

      考虑到上述注释,输入以下命令:

eksctl create iamserviceaccount \ --name adot-collector \ --namespace default \ --cluster my-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 字段以使用 IRSA。