Lab 02 : Votre première OMI
Objectifs
Section intitulée « Objectifs »Créer votre première OMI (Outscale Machine Image) en utilisant Packer.
Architecture du TP
Section intitulée « Architecture du TP »Dans cette partie, vous allez apprendre à :
- Créer un répertoire de projet pour votre template Packer
- Créer et configurer un fichier
template.pkr.hcl - Initialiser les plugins Packer
- Lancer la construction de votre OMI
Création du projet Packer
Section intitulée « Création du projet Packer »- Créez un répertoire de projet pour votre template Packer :
mkdir mon_projet_packercd mon_projet_packerexport OUTSCALE_ACCESSKEYID="xxxxxxxxxxxxx"export OUTSCALE_SECRETKEYID="xxxxxxxxxxxxxxxxxxxxxxxxx"- Créez un fichier
config.pkr.hclavec le contenu suivant :
packer { required_plugins { outscale = { version = "v1.1.3" source = "github.com/outscale/outscale" } }}- Créez un second fichier
template.pkr.hclavec ce contenu :
variable "region" { type = string default = "eu-west-2"}
variable "keypair_name" { type = string default = "test-packer"}
variable "omi_source" { type = string default = "ami-4b2651bc"}
source "outscale-bsu" "ubuntu_2404" { region = var.region vm_type = "tinav5.c2r4p2" ssh_username = "outscale" communicator = "ssh" ssh_interface = "public_ip" ssh_keypair_name = var.keypair_name source_omi = var.omi_source omi_name = "ubuntu_2404_tp2" ssh_private_key_file = "~/.ssh/id_ed25519" launch_block_device_mappings { delete_on_vm_deletion = true device_name = "/dev/sda1" volume_size = "40" volume_type = "gp2" }}
build { name = "ubuntu_2404_tp" sources = ["source.outscale-bsu.ubuntu_2404"]
provisioner "shell" { inline = [ "cloud-init status --wait", ] }}- Exécutez la commande suivante pour initialiser les plugins :
packer init -upgrade config.pkr.hcl- Lancez la construction de votre OMI :
packer build template.pkr.hclEn cas d’erreur ajouter la variable PACKER_LOG=1 devant la commande de build.
Exemple d’erreur :
2024/08/01 11:56:15 packer-plugin-outscale_v1.2.0_x5.0_darwin_arm64 plugin:{"Errors":[{"Type":"InvalidResource","Details":"","Code":"5071"}],"ResponseContext":{"RequestId":"b620eeae-d2f9-401f-8e16-dafc0d886045"}}Ici la keypair n’existe pas ! Allez dans cockpit et importez votre clé. Modifiez
la variable ssh_private_key_file si besoin.
Validation
Section intitulée « Validation »Si tout à correctement fonctionner vous devriez retrouver votre OMI
ubuntu_2404_tp dans cockpit.
Challenge
Section intitulée « Challenge »Ajoutez un provisioner qui permet d’installer le package nginx, mais attention le service ne doit pas démarrer au démarrage de la machine.