几周前,AWS宣布了针对EKS的“服务账户的精细IAM角色”。看起来很整洁,现在我们很想让它适用于我们当前与Helm进行的部署。应用程序打包在Helm图表中,在其中定义了该服务的所有必需资源。应用程序图表在设计上不知道它们在何处运行,无论是名称空间还是环境甚至AWS账户。这使图表非常可移植,可轻松安装在任何名称空间/群集中。我们将机密存储在Vault中,并在运行时通过以下方式找到特定于环境的信息:
- name: VAULT_AUTHBACKEND
valueFrom:
secretKeyRef:
name: vaultinfo
key: cluster
vaultinfo来自另一个图表,该图表是在设置新名称空间时进行设置的。
现在让EKS在每个吊舱中使用IAM角色,我需要将角色ARN注入为ServiceAccount的'eks.amazonaws.com/role-arn'注释的值。这是我的问题。角色名称不是问题,可以通过命名约定确定。但是,角色AWS帐户不能如此,并且valueFrom仅对Pod Spec有效。
有什么想法如何使AWS账户进入serviceaccount资源? 安装后,Serviceaccount资源必须归Helm图表所有,不能被其他任何东西修改。