2017-10-07 3 views
0
environnement

:Déployez GCP instance à l'aide terraform et le nombre (avec attached_disk)

  • terraform v0.10.7
  • plate-forme cloud google
  • différents fichiers .tf pour la création de back-end, les variables etc

issue:

Je suis capable de créer plusieurs instances vm et aussi plusieurs disques supplémentaires (boot_dis k fonctionne bien sur chaque instance) mais je veux être en mesure d'attacher ces disques supplémentaires à chaque VM en conséquence sans avoir à avoir des additions individuelles pour chaque VM (si cela a du sens!).

le code que je suis à ce jour est (qui fonctionne bien pour la construction de plusieurs instances de calcul et aussi plusieurs disques supplémentaires): Note (je l'ai commenté le attached_disk qui erreurs atm)

# vm1.tf 

variable "node_count" { 
    default = "3" 
} 

resource "google_compute_disk" "test-node-1-index-disk-" { 
    count = "${var.node_count}" 
    name = "test-node-1-index-disk-${count.index}-data" 
    type = "pd-standard" 
    zone = "${var.zone}" 
    size = "5" 
} 
resource "google_compute_instance" "test-node-" { 
    count = "${var.node_count}" 
    name = "test-node-${count.index}" 
    machine_type = "${var.machine_type}" 
    zone = "${var.zone}" 

    boot_disk { 
    initialize_params { 
    image = "${var.image}" 
    } 
    } 
# attached_disk { 
#  source  = "${google_compute_disk.test-node-1-index-disk-0}" 
#  device_name = "${google_compute_disk.test-node-1-index-disk-0}" 
# } 


    network_interface { 
     network = "default" 
     access_config { 
     // Ephemeral IP 
     } 

    } 
} 

Si je ne personne .tf le attached_disk ne pose aucun problème.

Mon état final souhaité, is to be able to build multiple vm's, multiple additional disks using count and attach/assign each added disk to each vm instance with a relationship of 1:1 but preferable within a single .tf and block...

Je suppose que je pourrais regarder d'appliquer une commande gcloud de poste de calcul pour fixer (connaître la convention de nommage attendue) mais je voudrais qu'il soit plus dynamique et fait au point de la création.

Est-ce que je m'approche de ce problème? Toute aide/pointeurs grandement appréciés!

Thx Bry

Répondre

0
# vm1.tf 

variable "node_count" { 
    default = "3" 
} 

resource "google_compute_disk" "test-node-1-index-disk-" { 
    count = "${var.node_count}" 
    name = "test-node-1-index-disk-${count.index}-data" 
    type = "pd-standard" 
    zone = "${var.zone}" 
    size = "5" 
} 
resource "google_compute_instance" "test-node-" { 
    count = "${var.node_count}" 
    name = "test-node-${count.index}" 
    machine_type = "${var.machine_type}" 
    zone = "${var.zone}" 

    boot_disk { 
    initialize_params { 
    image = "${var.image}" 
    } 
    } 
    attached_disk { 
     source  = "${element(google_compute_disk.test-node-1-index-disk-.*.self_link, count.index)}" 
     device_name = "${element(google_compute_disk.test-node-1-index-disk-.*.name, count.index)}" 
    } 


    network_interface { 
     network = "default" 
     access_config { 
     // Ephemeral IP 
     } 

    } 
}