首页 文章

我可以假设 - 使用terraform的aws ec2实例配置文件的角色吗?

提问于
浏览
1

我遇到了一个情况,我试图在ec2-instance内的kubernetes(k8s)内的jenkins中运行一个terraform( v0.11.7 )脚本 .

  • k8s worker正在使用特定aws实例配置文件的ec2实例上运行

  • terraform脚本通过各种环境变量,凭证和配置文件进行配置,以便能够为其目的承担特定角色

设置在我的macbook上工作正常,但遗憾的是,在jenkins / k8s / ec2中,ec2实例配置文件占主导地位且terraform脚本失败,因为它需要特定的假定角色来完成它的操作 .

它实际上在 terraform plan 步骤失败, TF_LOG 输出显示该角色是从实例配置文件派生的 .

想知道是否有人遇到这种情况并有任何相关的指导?

1 回答

  • 0

    看起来像我特定用例的特殊酱是Terraform的aws提供程序skip_metadata_api_check flag,它显然在我的特定设置中禁止Terraform _1864653的正常机制 .

    我的具体设置涉及使用提供程序的profile arg以及涉及aws共享 credentialsconfig 文件的named profile feature .

    Terraform中承担角色的另一个选择是提供者的assume_role arg,但我更喜欢抽象的 profile 选项 .

    我还发现将AWS_PROFILE环境变量与AWS Go SDK(由Terraform使用)记录较少的AWS_SDK_LOAD_CONFIG环境变量结合使用也可以作为替代方案,并且允许完全省略profile参数,这可能是偶数一些人更有吸引力

相关问题