Infrastructure-as-a-Service > Clusters¶
Warning
Il faut ajouter sa clef SSH dans son agent SSH avant d'utiliser la cli terraform.
Dépendances¶
- Le nom de l'entrée dans la config client OpenStack.
- Prefixe le nom de toutes les VMs.
- Image disque utilisée pour le déploiement des VMs.
- Le login utilisateur sous lequel se connecter à la VM.
- Le nom du gabarit (CPU/RAM/DISK) de VM à déployer.
- Le nom du réseau fournissant des IPs publiques.
- Le nom de la clef SSH à utiliser pour se connecter.
Tâches¶
~/projet-cloud/Taskfile.yaml | |
---|---|
Activation¶
~ $ cd projet-cloud
✓ ~/.pkgx/github.com/kkos/oniguruma/v6.9.8
✓ ~/.pkgx/stedolan.github.io/jq/v1.7.0
env +stedolan.github.io/jq^1.7 +github.com/mikefarah/yq^4.35.2 +terraform.io^1.5 +taskfile.dev^3.30.1 +gnu.org/coreutils^9.4
~/projet-cloud/ $
Terraform¶
Variables¶
~/projet-cloud/terraform__variables.tf | |
---|---|
Resources¶
~/projet-cloud/resource__openstack_compute_instance_v2.tf
resource openstack_compute_instance_v2 bootstrap {
name = "manager-1"
image_name = var.IMAGE_NAME
flavor_name = var.FLAVOR_NAME
key_pair = var.KEYPAIR
network {
name = var.PUBLIC_NETWORK
}
connection {
type = "ssh"
user = var.SSH_USER
host = self.access_ip_v4
}
provisioner remote-exec {
inline = [
"hostname"
]
}
}
resource openstack_compute_instance_v2 compute {
count = var.COMPUTE_COUNT
name = "compute-${count.index+1}"
image_name = var.IMAGE_NAME
flavor_name = var.FLAVOR_NAME
key_pair = var.KEYPAIR
network {
name = var.PUBLIC_NETWORK
}
connection {
type = "ssh"
user = var.SSH_USER
host = self.access_ip_v4
}
provisioner remote-exec {
inline = [
"hostname"
]
}
}
Sorties¶
~/projet-cloud/terraform__outputs.tf | |
---|---|