我试图在Jenkins管道中启动一个主机作为舞台的一部分。在使用Ansible host-add之前,我们只需要传递ssh_username=user和ssh_authorized_key=jenkins-path.pub。现在使用terraform,我试图使用相同的密钥/路径,我不能弄清楚。我尝试了标签和变量。没有运气
我
module "ec2" {
source = "internal source"
instance_count = 1
ami = ""
instance_type = "t3.medium"
subnet_id = ""
ssh_authorized_key = "jenkins-path.pub"
}
您不能像在Ansible中使用terraform (TF)那样容易地做到这一点,因为TF是IoC基础设施管理的主要工具,而不是实例管理。基本上有三个选项使用方法:
-
创建一个脚本,通过userdata在实例启动时执行。脚本将在实例上设置
ssh_authorized_key
。 -
使用remote-exec provisioning with maybe file provisioning来复制和设置实例上的
ssh_authorized_key
。 -
如果您已经有使用TF的经验,请使用Ansible。