通过 terraform 在 cloud init 中传递 python 脚本
Posted
技术标签:
【中文标题】通过 terraform 在 cloud init 中传递 python 脚本【英文标题】:pass python script in cloud init through terraform 【发布时间】:2021-01-14 18:45:29 【问题描述】:我正在创建一个 ASG,我想在创建实例后不久在其中调用几个 rest api。我知道我可以编写一个 bash 脚本并在 cloud-config 中传递它,但我想使用一个 python 脚本,因为这会给我使用 json 解析库的额外优势。我无法弄清楚如何在用户数据云配置中传递 python 文件。非常感谢任何帮助。
# ...terraform stuff for ASG
user_data = <<EOF
#cloud-config
#script.py(my python script)
【问题讨论】:
【参考方案1】:一种方法是内联运行您的脚本,如python -c "print 'Hello, World!'"
。
如果您确实需要传入的脚本,则需要让 user_data 脚本从某个存储位置将其下载到实例。或者,如果您使用的是自定义构建的 AMI,您可以在 AMI 中包含脚本。
【讨论】:
以上是关于通过 terraform 在 cloud init 中传递 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章
user_data 未在 EC2 中执行,在 cloud-init thru terraform 中出现错误
带有 Terraform 的 KVM:SSH 权限被拒绝(Cloud-Init)
如何使用 cloud-init 和 Terraform 设置主机名?
防止 terraform 函数“模板文件”输出 heredoc