# Packer z obsługą składni HCL

Ostatnie wersje HashiCorp Packer wprowadzają szereg usprawnień. Wśród nich wsparcie dla szablonów HCL. Dzięki wprowadzonym zmianom można uprościć szablony i ułatwić nimi zarządzanie.

HashiCorp Packer jest łatwym w użyciu narzędziem służącym do automatyzacji tworzenie dowolnego typu Obrazów Wirtualnej Maszyny między innymi na platformie HyperOne. Wykorzystuje on nowoczesne mechanizmy zarządzanie konfiguracją, zachęcając użytkownika do korzystania z automatycznych skryptów do instalowania i konfigurowania oprogramowania w tworzonych Obrazach.

Przykładowo, gdy Obraz jest wykorzystywany jako baza dla środowiska szkoleniowego, użycie Packer pozwala szybko – nawet w przerwie na kawę – przygotować nowy Obraz, który będzie zawierał zainstalowaną najnowszą wersję oprogramowania użytego podczas szkolenia lub prezentacji. Uczestnicy szkolenia mogą następnie użyć takiego Obrazu, aby utworzyć identyczne środowisko gotowe do pracy. Zbudowany Obraz ułatwia także ujednolicenie środowisko wykorzystywane w środowisku produkcyjnym.

HCL jest językiem konfiguracji autorstwa HashiCorp. HCL jest używany w narzędziach do automatyzacji infrastruktury chmurowej HashiCorp, takimi jak Terraform. Język został stworzony z myślą o przyjazności zarówno dla ludzi, jak i dla maszyn.

Wykorzystanie składni HCL umożliwia bezpośrednie wyrażenie szeregu fundamentalnych elementów, które w dotychczasowej składni - opartej o JSON – nie były możliwe wcale lub komfort ich użycia był umiarkowany:

  • komentarze, zarówno jedno i wielo–wierszowe,
  • wielowierszowe wyrażenia tekstowe
  • podzielenie szablonu na pliki

Współpraca Hashicorp Packer z Platformą jest elementem standardowego wydania tego oprogramowania i nie wymaga instalacji dodatkowych komponentów w celu użycia z Platformą. Została ona odpowiednio odświeżona

Wystarczy po instalacji oprogramowania utworzyć nowy plik np. new-syntax.pkr.hcl o zawartości:

source "hyperone" "new-syntax" {
  source_image = "debian"
  disk_size = 10
  vm_type = "a1.nano"
  image_name = "packer-demo-hcl-"
}

build {
  sources = [
    "source.hyperone.new-syntax"
  ]

  provisioner "shell" {
    inline = [
      "apt-get update",
      "apt-get install nginx"
    ]
  }
}

Następnie wykonać poniższe polecenie:

packer build -- new-syntax.pkr.hcl

Po kilku minutach zostanie w projekcie utworzony nowy obraz z oczekiwanymi zmianami.

Oprogramowanie Packer jest bezpłatnie dostępne do pobrania (opens new window) na platformy Linux, Windows, macOS, FreeBSD i OpenBSD. Jego użycie nie wiąże się z dodatkowymi opłatami, oprócz standardowych opłat za wykorzystanie Wirtualnych Maszyn i Obrazów.

Adam Dobrawy - Warszawa, 22 czerwca 2020 roku

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