Aller au contenu

Lab 02 : Votre première OMI

Créer votre première OMI (Outscale Machine Image) en utilisant Packer.

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
  1. Créez un répertoire de projet pour votre template Packer :
Terminal window
mkdir mon_projet_packer
cd mon_projet_packer
export OUTSCALE_ACCESSKEYID="xxxxxxxxxxxxx"
export OUTSCALE_SECRETKEYID="xxxxxxxxxxxxxxxxxxxxxxxxx"
  1. Créez un fichier config.pkr.hcl avec le contenu suivant :
packer {
required_plugins {
outscale = {
version = "v1.1.3"
source = "github.com/outscale/outscale"
}
}
}
  1. Créez un second fichier template.pkr.hcl avec 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",
]
}
}
  1. Exécutez la commande suivante pour initialiser les plugins :
Terminal window
packer init -upgrade config.pkr.hcl
  1. Lancez la construction de votre OMI :
Terminal window
packer build template.pkr.hcl

En cas d’erreur ajouter la variable PACKER_LOG=1 devant la commande de build.

Exemple d’erreur :

Terminal window
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.

Table des erreurs

Si tout à correctement fonctionner vous devriez retrouver votre OMI ubuntu_2404_tp dans cockpit.

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.