diff options
| author | jerome <jerome@xlinfo.fr> | 2022-09-13 01:27:25 +0200 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2022-09-13 01:27:25 +0200 |
| commit | 7ecab07fbd8126dbb525018c2bb2bb4d3b07647b (patch) | |
| tree | 5aa80fd15aef832730cae628583db814e7ce83f8 | |
| parent | 6556b78865d1e73279d5a2091470c3b0180aad0e (diff) | |
| download | vbox-7ecab07fbd8126dbb525018c2bb2bb4d3b07647b.tar.gz vbox-7ecab07fbd8126dbb525018c2bb2bb4d3b07647b.zip | |
update tag 0.2
| -rwxr-xr-x | createvm | 24 | ||||
| -rw-r--r-- | id_rsa.pub | 2 | ||||
| -rw-r--r-- | main.tf | 9 | ||||
| -rw-r--r-- | network_config | 24 |
4 files changed, 42 insertions, 17 deletions
@@ -8,21 +8,21 @@ count=1 # Déploiment terraform terraform init -reconfigure terraform plan -terraform apply -var "nb=$count" -var "start=$index" -auto-approve +terraform apply -var "nb=$count" -var "start=$index" -auto-approve 2>/dev/null echo -# On copie notre clé publique et on met à jour le hostname des machines +# On copie notre clé publique, on met à jour le hostname des machines, et on fixe les adresses ip données par le dhcp for ((i=$index;i<$((index+count));i++));do - vm=ubuntu$i - while vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP |grep -q "No value"; do - sleep 5 - echo "Wait VM until ready..." - done - echo -e "\n [$vm ip] $(vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP)" - vboxmanage guestcontrol $vm --username vagrant --password vagrant copyto id_rsa.pub /home/vagrant/.ssh/authorized_keys - vboxmanage guestcontrol $vm --username vagrant --password vagrant copyto set-hostname /home/vagrant/set-hostname - vboxmanage guestcontrol $vm --username vagrant --password vagrant run /usr/bin/bash /home/vagrant/set-hostname $vm + vm=ubuntu$i + while vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP |grep -q "No value"; do + sleep 5 + echo "Wait VM until ready..." + done + echo -e "\n [$vm ip] $(vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP)" + ip_addr=$(vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP|cut -d ':' -f2) + vboxmanage guestcontrol $vm --username vagrant --password vagrant copyto id_rsa.pub /home/vagrant/.ssh/authorized_keys + vboxmanage guestcontrol $vm --username vagrant --password vagrant copyto network_config /home/vagrant/ + vboxmanage guestcontrol $vm --username vagrant --password vagrant run /usr/bin/bash /home/vagrant/network_config $vm $ip_addr done echo - @@ -1 +1 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIY4PbR32blXvSPdTY1f9iou1/gFDf57eHOATSVBYvJC1AxGpE+1JTU1Brl9rTZTbIEtn8H+8lA1L0VQVCE9kPCD+Fg7QJEYGH9B0a5SgwuBGzcUCwhTn5zlDJN5dCD4yYOTX1Xtgp7bXsuFlLJWRLj98sMnF001UbXJeB9z99JcpcO7ISg09E9UEvyhUgRmMOTEsSbeLDMWMuevSelybWj3l46Q1vT5/LnOFwbm3TgvJumSE738XinEeZeyns11OQ/8uzJj+d+idcivVytCOJJWrh4NtW/LkU9M/NYKqT7a/N4rNmc1Nlz/Jd5alYMQjjdi81YpIIXYt2X1Jv+6v56RfuvGup4X9Q27lP/pGKYfWtPx6QfDAQxGNj1mEv1lPAMNe2JU/YFmJQEDYSCmxIdljHtNjNcXE8u530+Fcri4bXxMMGsUdqXL2KKcoNoun0LGSZu5rGqeGcMtX5WiYzqqQWNFnMV8AkNDvENJ2Jh9IHBjy68hnNOgHN61DQHx8= jerome@kali +--- fichier à remplacer par votre clef ssh publique --- @@ -7,6 +7,7 @@ terraform { } } + resource "virtualbox_vm" "node" { # count = 1 # name = format("ubuntu%01d", count.index + 3) @@ -14,12 +15,12 @@ resource "virtualbox_vm" "node" { count = var.nb name = format("ubuntu%01d", count.index + var.start) image = "https://app.vagrantup.com/ubuntu/boxes/focal64/versions/20220905.0.0/providers/virtualbox.box" - cpus = 2 + cpus = 4 memory = "2048 mib" network_adapter { type = "bridged" - host_interface = "enp1s0" + host_interface = "ens160" } } @@ -27,8 +28,8 @@ resource "virtualbox_vm" "node" { #output "ip_addresses" { # value = { # for vm in virtualbox_vm.node.*: -# vm.name => vm.network_adapter.0.ipv4_address -# } +# vm.name => vm.network_adapter.0.ipv4_address +# } #} ######################### diff --git a/network_config b/network_config new file mode 100644 index 0000000..e1233f1 --- /dev/null +++ b/network_config @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# à adapter à votre réseau + +sudo hostnamectl set-hostname $1 + +sudo bash -c "cat > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg << EOF +network: {config: disabled} +EOF" + +sudo bash -c "cat > /etc/netplan/50-cloud-init.yaml << EOF +network: + ethernets: + enp0s17: + dhcp4: false + addresses: [$2/24] + gateway4: 172.19.30.254 + nameservers: + addresses: [172.19.30.128,172.19.30.254] + version: 2 +EOF" + +sudo netplan apply + +rm $0 |
