尝试使用实例的主机名和专用IP修改/ etc / hosts。例如,“ / etc / hosts”文件应如下所示。
CreateNoWindow
以下我从stackoverflow本身发现的代码将接近完成上述操作,但是我很难理解要在哪里将索引增加1(count.index + 1),以便获得提及的输出而不是member-1成为member-0,member-2成为member-1。
member-1 <some private ip>
member-2 <some private ip>
请新手能获得帮助吗?
非常感谢
答案 0 :(得分:0)
当我用count做过类似的事情时,我很确定自己做过这样的事情:
resource "null_resource" "my_resource" {
count = "${var.cluster_count}"
name = "cluster-node-${count.index+1}"
}
因此,在您的示例中,您会想在提及$ {var.cluster_member_name_prefix}后添加$ {count.index + 1}。
但是,就像@ matt-schuchard提到的那样,也许模板化是一种更好的方法,因为我认为您当前的实现不太可读。
您应该能够将变量传递到模板中(例如,您需要的成员数),然后将该变量与循环一起使用以生成所需的正确文件配置。
模板对于这类事情非常方便。
此外,如果要在服务器上运行大量命令(用于安装等),则可能更适合使用Ansible之类的工具来代替terraform中的remote_exec命令。
某些链接可能会有所帮助:
https://www.terraform.io/docs/providers/template/index.html https://www.terraform.io/docs/configuration/expressions.html#string-templates