xeL*_*eLL 3 amazon-web-services amazon-iam kubernetes terraform amazon-eks
我在 AWS 上有一个 Kubernetes EKS 集群,我的目标是能够在我的 Spring Boot 应用程序中查看特定的配置映射。在我的本地环境中,一切正常,但是当我在 AWS 中使用此设置时,我进入禁止状态并且我的应用程序无法运行。我创建了一个服务帐户,但不明白如何创建可以分配所需 IAM 角色的 Terraform 脚本。任何帮助,将不胜感激。
这取决于几件事。
可以通过不同方式向Pod提供 AWS IAM 角色,但现在推荐的方法是将IAM 角色用于服务账户 IRSA。
根据您使用 Terraform 配置 Kubernetes 集群的方式,这也以不同的方式完成。如果您使用AWS EKS并使用Terraform AWS EKS 模块预置集群,那么您应该将enable_irsa设置为true
。
然后,您需要为您的应用程序 (Pod) 创建一个 IAM 角色,并且您需要返回 IAM 角色的 ARN。这可以使用aws_iam_role资源来完成。
您需要为您的 Pod 创建一个 Kubernetes ServiceAccount,它可以使用 Terraform 创建,但许多人希望将 Yaml 用于 Kubernetes 资源。ServiceAccount 需要使用 IAM 角色 ARN 进行注释,例如:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::14xxx84:role/my-iam-role
Run Code Online (Sandbox Code Playgroud)
请参阅EKS 研讨会,了解服务帐户的 IAM 角色课程,以获取有关此内容的指南。但是,它不使用 Terraform。
归档时间: |
|
查看次数: |
2489 次 |
最近记录: |