首页 文章

Packer和Terraform集成的工作流程示例

提问于
浏览
1

我正在尝试在VMWare Hypervisor中为虚拟机创建一个实验室,以便在RHEL中安装集群;我已经看到Packer和Terraform非常有趣但是我找不到关于他们的工作流程的清晰和/或详细的样本,特别是如何在Packer中创建图像然后让Terraform使用它 . 我已经看到Packer具有构建功能,但即使是某种类型的部署,我也不明白这些是否与Terraform重叠;我已经读过通过另一个HashiCorp产品Atlas可以实现某种类型的自动化,但我不想使用它,至少在这个软件的研究和试用阶段 . 所以我想要做的是使用Packer(RHEL base以及其他功能)创建与VMWare兼容的虚拟机映像,将它们传递给在我的esxi中创建vm的Terraform工件 .

希望能找到指导 .

1 回答

  • 6

    我不确定您的具体用例,但Terraform确实有数据源,可以更轻松地将Packer构建的图像连接到Terraform:https://www.terraform.io/docs/configuration/data-sources.html

    以下是为AWS EC2实例使用Packer Built AMI的部分示例:

    data "aws_ami" "bastion" {
      filter {
        name   = "state"
        values = ["available"]
      }
    
      filter {
        name   = "tag:Name"
        values = ["Bastion"]
      }
    
      most_recent = true
    }
    
    resource "aws_instance" "bastion" {
      ami = "${data.aws_ami.bastion.id}"
      # ...
    }
    

    我还使用了bash脚本来解析Packer生成的值并将它们转储到Terraform消耗的tfvars文件中 .

相关问题