amazon-web-services - 如何使用 Terraform 将 AWS IAM 角色分配给服务账户?

标签 amazon-web-services kubernetes terraform amazon-iam amazon-eks

我在 AWS 上有一个 Kubernetes EKS 集群,我的目标是能够在我的 Spring Boot 应用程序中查看特定的配置映射。
在我的本地环境中一切正常,但是当我在 AWS 中使用此设置时,我进入禁止状态并且我的应用程序无法运行。
我创建了一个服务帐户,但不明白如何创建可以分配所需 IAM 角色的 Terraform 脚本。
任何帮助,将不胜感激。

最佳答案

这取决于几件事。
可以通过不同方式向 Pod 提供 AWS IAM 角色,但现在推荐的方式是使用 IAM Roles for Service Accounts, IRSA .
根据您使用 Terraform 配置 Kubernetes 集群的方式,这也以不同的方式完成。如果您使用 AWS EKS并使用 Terraform AWS EKS module 配置集群,那么你应该设置 enable_irsatrue .
然后,您需要为您的应用程序 (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
EKS workshop for IAM Roles for Service Accounts类(class)作为指导。但是,它不使用 Terraform。

关于amazon-web-services - 如何使用 Terraform 将 AWS IAM 角色分配给服务账户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64246111/

相关文章:

Azure Kubernetes (AKS) 不释放公共(public) IP

security - HTTPS 证书和 Kubernetes (EKS)

kubernetes - 在minikube中运行ReportPortal

foreach - terraform 如何使用 time_sleep 资源正确实现延迟

javascript - 使用 AWS Lambda 自动创建静态站点客户端页面

java - 使用 AWS S3 SDK 在 S3 和我的数据中心之间传输数据是否安全?

terraform - terraform 是否支持 AWS BACKUP 恢复功能?

amazon-web-services - 如何获取 AWS Autoscaling 启动实例的 pem 文件

amazon-web-services - 如何在按 key 分组的 AWS 上对事件进行去抖动?

php - 如何在AWS中低成本运行laravel php应用程序?