私は私がクラウドのinitを使用することはできませんし、私はすべてのマシンパラメータ化テラフォームテンプレート
hostname.tpltのホスト名変更する必要がありますOpenStackの中に99台の仮想マシンを作成するにはテラフォームプロジェクトがあります。
sudo sed -i -e "s/debian[7-9]/${host_name}/g" /etc/hostname
sudo invoke-rc.d hostname.sh start
sudo sed -i -e "s/127\.0\.1\.1.*/127.0.1.1\t${host_name}.${domain_name} ${host_name}/g" /etc/hosts
sudo apt-get update && sudo apt-get -y install dbus && sudo hostnamectl set-hostname ${host_name}
をmain.tfの
一部:
data "template_file" "hostname_servers" {
template = "${file("templates/hostname.tplt")}"
vars {
host_name = "${format("%s-proxy-%02d", var.prefix_name, count.index+1)}"
domain_name = "${var.domain_name}"
}
}
RESS ource
resource "openstack_compute_instance_v2" "proxy-instance" {
count = "${var.count_proxy}"
name = "${format("%s-proxy-%02d", var.prefix_name, count.index+1)}"
image_name = "${var.image}"
flavor_name = "${var.flavor_proxy}"
network {
name = "${format("%s-%s", var.prefix_name, var.network_name)}"
}
connection {
user = "${var.user}"
}
provisioner "remote-exec" {
inline = [
"${data.template_file.hostname_servers.rendered}"
]
}
}
ユースケース: 私はテラフォームの計画を開始したとき、私は重複して好きではない、それは、プロキシインスタンスのリソースのために動作しますが、私は99台のマシンのためにそれを行う必要があり、 テンプレートデータ99回、 と私はすべてのマシンに適用することができるようにテンプレートをparammetzeどのようにわからない 任意のアイデア?
?彼らはすべて異なっているか、 'host-1.example.com'のようなパターンに従っていますか? – ydaetskcoR
ホスト名はリソース名です。host_name = "$ {format("%s-proxy-%02d "、var.prefix_name、count.index + 1)}" – Inforedaster
現在何が問題なの?持ってる?それは99台までのマシンで正常に動作するようです。 – ydaetskcoR