# Szybkie wprowadzenie do Packer
Niniejszy artykuł przedstawia w możliwie skondensowanej formie podstawowe informacje na temat wykorzystania oprogramowannia Packer w celu wykonania podstawowego Obrazu.
# Warunki wstępne
Przed przystąpieniem do przewodnika powinieneś mieć:
- zainstalowane CLI
# Instalacja Packer
Przejdź strony internetowej produktu (opens new window). W sekcji "Download Packer" wybierz wariant odpowiedni dla używanego systemu operacyjnego i pobierz go.
Wypakuj pobrane archiwum w dowolnym miejscu.
# Weryfikacja instalacji
Uruchom plik uzyskany w poprzednim etapie z wykorzystaniem polecenia:
./packer
Otrzymasz rezultat zbliżony do poniższego:
Usage: packer [--version] [--help] <command> [<args>]
Available commands are:
build build image(s) from template
fix fixes templates from old versions of packer
inspect see components of a template
validate check that a template is valid
version Prints the Packer version
# Przygotowanie szablonu Obrazu
Utwórz nowy plik image.json
o następującej zawartości:
{
"builders": [
{
"type": "hyperone",
"vm_name": "image-builder",
"source_image": "debian:9",
"image_name": "debian-docker",
"vm_type": "a1.nano",
"disk_size": 10
}
],
"provisioners": [
{
"type": "shell",
"inline": [
"sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common",
"curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -",
"sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable\"",
"sudo apt-get update",
"sudo apt-get install -y docker-ce docker-ce-cli containerd.io",
"sudo rm -r /var/lib/cloud",
"sudo rm -r /etc/hosts"
]
}
]
}
Dokument zawiera:
Pole | Opis |
---|---|
builders.[] | Lista środowiska (dostawców), którzy będą wykorzystani do budowania obrazu |
builders.[].type | Wskazanie na wykorzystanie HyperOne |
builders.[].vm_name | Nazwa Wirtualnej Maszyny wykorzystanej podczas budowania Obrazu |
builders.[].source_image | Bazowy Obraz wykorzystany jako podstawa nowego Obrazu |
builders.[].image_name | Nazwa Wirtualnej Maszyny wykorzystanej podczas budowania Obrazu |
builders.[].vm_type | Wariant Wirtualnej Maszyny wykorzystywany podczas tworzenia nowego Obrazu |
builders.[].disk_size | Rozmiar dysku Wirtualnej Maszyny wykorzystywany podczas tworzenia nowego Obrazu |
provisioners.[] | Lista kroków dostosowania Obrazu |
# Logowanie w CLI
Packer wspiera metod uwierzytelniania. Najprostsza jest ponowne użycie danych dostępowych z CLI.
Wykonaj następujące polecenie w CLI, aby zalogować się:
h1 login
# Utworzenie Obrazu
Wykonaj polecenie packer build image.json
. W efekcie otrzymasz zapis opisujący przebieg procesu budowania.
W przypadku jego pomyślnego ukończenia na końcu otrzymasz rezultat zbliżony do poniższego:
==> hyperone: Stopping VM...
==> hyperone: Creating image...
==> hyperone: Deleting VM 5c8bb622e9c36965cba87f37...
Build 'hyperone' finished.
==> Builds finished. The artifacts of successful builds are:
--> hyperone: Image 'debian-docker' created, ID: 5c8bb6dbe9c36965cba87f66
Wskazuje on na poprawne utworzenie w Platformie Obrazu o ID: 5c8bb6dbe9c36965cba87f66
# Utworzenie Wirtualnej Maszyny z wykorzystaniem Obrazu
W celu wykonania operacji postępuj zgodnie z przewodnikiem.
# Weryfikacja Wirtualnej Maszyny
Wykonaj odpowiednie kroki - specyficzne dla wprowadzonych zmian - aby upewnić się, że utworzony Obraz jest poprawny. Można przykładowo zweryfikować stan usług, albo poprawność odpowiedzi na przykładowe żądania.