# 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.

Czy uważasz ten artykuł za przydatny? Tak Nie