【问题标题】:Terraform Cloud-Init AWSTerraform 云初始化 AWS
【发布时间】:2019-12-22 13:40:28
【问题描述】:

我有一个用于部署 Ubuntu 的 Terraform 脚本。

resource "aws_instance" "runner" {
  instance_type = "${var.instance_type}"
  ami = "${var.ami}"
  user_data =   "${data.template_file.deploy.rendered}"
}

data "template_file" "deploy" {
  template = "${file("cloudinit.tpl")}"

}

我的 cloudinit.tpl:

#cloud-config
runcmd:
  - apt-get update
  - sleep 30
  - apt-get install -y  awscli

我在 cloud-init.log 上找不到任何问题,并且在 /var/log 中找不到 user-data.log 文件以了解为什么 user-data 不起作用。

【问题讨论】:

  • 为什么要睡觉?可以发/var/log/cloud-init-output.log的相关部分吗?如果您在 AWS 控制台中查看实例的用户数据,它会显示什么?
  • 我使用睡眠等待更新完成,在/var/log/cloud-init-output.log 我有这个:E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
  • 顺便说一句。还有packages,它也会自动为你运行apt-get update

标签: amazon-web-services terraform cloud-init


【解决方案1】:

Cloud-init 有一个用于系统更新的特殊命令,它进行一致性操作

#cloud-config
package_update: true
package_upgrade: true
packages: ['awscli']

runcmd:
  - aws --version

您可能会在日志文件中看到命令输出,对于 Ubuntu,它是 /var/log/cloud-init-output.log

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多