1. Báza znalostí
  2. Cloud a servery
  3. Nástroje
  4. Terraform
  5. Terraform v prostredí VDC – základné informácie, výhody a inštalácia

Terraform v prostredí VDC – základné informácie, výhody a inštalácia

Terraform je free open source nástroj od spoločnosti HashiCorp, ktorý dokáže automatizovať nasadenie infraštruktúry (IaaS), platformy (PaaS) a softvéru (SaaS). Ide teda o nástroj ponúkajúci komplexné riešenie, no na jeho použitie nepotrebujeme vedieť programovať. Stačí napísať konfiguračný súbor v jazyku pre ľudí dobre čitateľnom a o ostatné sa už postará nástroj Terraform.

Spoločnosť HashiCorp vydala prvú verziu nástroja Terraform v roku 2014. Vtedy Terraform podporoval iba AWS a DigitalOcean. O dva roky neskôr (2016) sa však komunita prispievateľov rozšírila natoľko, že do Terraformu pribudla podpora aj všetkých ostatných najväčších poskytovateľov cloudových služieb. V roku 2017 Terraform uzavrel partnerstvo so spoločnosťou Microsoft, čím oficiálne vstúpil do komerčnej sféry.

OpenStack je free open source systém, ktorý od roku 2010 vyvíjala spoločnosť Rackspace Hosting spolu s NASA. Od roku 2012 vývoj prevzala nezisková organizácia OpenStack Foundation, ktorá sa v roku 2018 premenovala na Open Infrastructure Foundation. OpenStack sa nasadzuje v dátových centrách spôsobom infraštruktúra ako služba (Infrastructure as a Service, IaaS) a riadi tak zdroje ako siete, procesory a úložiská.

Prečo použiť Terraform

Nástroj Terraform spoločnosť HashiCorp a komunita vyvíjajú tak, aby neustále obhajovali vysokú kvalitu. Terraform má predovšetkým tieto prednosti:

  1. Nezávislosť na platforme a otvorenosť – Terraform je rovnako dobre použiteľný v rámci všetkých veľkých poskytovateľov cloudových riešení, či už ide o produkty spoločností ako Google, Amazon, Microsoft alebo Alibaba. Nezabúda sa však ani na otvorené riešenia ako je systém OpenStack.
  2. Veľká komunita s komerčnou podporou – Terraform vyvíja celosvetová početná komunita, a rovnako spoločnosť HashiCorp, ktorá v prípade potreby poskytuje komerčnú podporu. Ide teda o nástroj, ktorý môže použiť ktokoľvek na tých najmenších ako aj na najväčších projektoch.
  3. Neopakujete sa – Terraform vďaka modulom umožňuje už raz napísaný kód vkladať na iné miesta v iných skriptoch. Takto plní zásady princípu DRY (Don’t Repeat Yourself = neopakuj sa), ktorý prispieva k rýchlosti a jednoduchosti práce s nástrojom Terraform.
  4. Deklaratívny prístup – nástroju Terraform stačí opísať, ako si predstavujeme výsledok nasadenia infraštruktúry. Ako konkrétne to dosiahnuť, to už zariadi Terraform.
  5. Bez agenta – Terraform nepotrebuje žiadny softvér, ktorý by ste museli inštalovať ešte pred nasadením. To znamená ľahkú inštaláciu a použitie nástroja Terraform.
  6. Rýchlosť a jednoduchosť – prístup infraštruktúra ako kód (IaC) umožňuje nasadiť celú infraštruktúru iba spustením skriptu. O všetko ostatné sa postará samotný Terraform.
  7. Obnova zo zálohy – v prípade pádu celej infraštruktúry je znovunasadenie iba záležitosť spustenia vyššie spomínaného skriptu. Ručná obnova by určite trvala dlhšie už iba na jedinom serveri, nehovoriac o viacerých.
  8. Minimalizovanie chýb – keďže nasadenie infraštruktúry pomocou Terraformu predstavuje iba spustenie skriptu, vytvára sa minimálny priestor pre ľudskú chybu. Skôr nájdeme a odstránime chybu v niekoľkých riadkoch, ako v ručnom procese nasadzovania.
  9. Tímová spolupráca – na skripte ako textovom súbore môžu spolupracovať viacerí členovia tímu napríklad pomocou správcu zdrojového kódu Git. Výskyt chýb sa tak môže znížiť na takmer zanedbateľné minimum.
  10. Pokročilá bezpečnosť – Terraform odporúča oddeliť citlivé údaje ako napríklad prihlasovacie meno a heslo do súborov, ktoré sú zabezpečené už len tým, že sa zdieľajú iba s úzkou skupinou ľudí, ideálne sa ešte aj šifrujú.

Inštalujeme Terraform

Nástroj Terrafrom budeme inštalovať a používať na operačnom systéme Ubuntu Linux, ale rovnako je možné inštalovať a použiť ho aj na Windowse (cez Chocolatey) či MacOS (cez Homebrew).

Najskôr nainštalujeme nástroje potrebné počas inštalácie (prvý riadok), potom stiahneme a overíme GPG kľúč (ostatné riadky). Kontrolný súčet (fingerprint) kľúča sa musí zhodovať s touto hodnotou: E8A0 32E0 94D8 EB4E A189 D270 DA41 8C88 A321 9F7B

sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint

Ak sa GPG kľúč podarilo overiť, pokračujeme pridaním oficiálneho repozitára spoločnosti HashiCorp do systému (prvý riadok) a následnou inštaláciou samotného nástroja Terraform (druhý riadok).

echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt-get install terraform

Po úspešnej inštalácii nástroja Terraform overíme nainštalovanú verziu:

terraform -version

V čase písania tohto návodu bola aktuálna verzia 1.3.5 a ďalej teda budeme predpokladať túto verziu alebo novšiu.

Okrem samotného nástroja Terraform si doinštalujeme aj jeho rozšírenie zodpovedné za automatické dopĺňanie a následne reštartujeme shell:

touch ~/.bashrc && terraform -install-autocomplete

Sťahujeme informácie o systéme VDC

Všetky súbory budeme ukladať do priečinka websupport_openstack, ktorý vytvoríme v domovskom priečinku aktuálne prihláseného používateľa (~):

mkdir ~/websupport_openstack

Aby sa nástroj Terraform dokázal pripojiť do systému OpenStack, potrebuje informácie, vďaka ktorým OpenStack jednoznačne identifikujeme a odkážeme sa v ňom na konkrétny projekt určitého používateľa. Na adrese cloud.websupport.sk sa prihlásime do dátového centra spoločnosti WebSupport, vyberieme Project a v časti API access hore vpravo stiahneme súbor clouds.yaml takto:

Súbor clouds.yaml obsahuje všetky potrebné údaje, ktoré v ďalšom diele tohto seriálu použijeme na vytvorenie novej inštancie v systéme OpenStack pomocou nástroja Terraform.

Zhrnutie

V prvej časti seriálu o nástroji Terraform v systéme OpenStack sme si oba predstavili produkty predstavili. Zároveň sme uviedli dôvody, pre ktoré je vhodné použiť nástroj Terraform. Rovnako sme ukázali ako nainštalovať Terraform a ako si zo systému OpenStack stiahnuť informácie potrebné na pripojenie a použitie nástroja Terraform. V ďalšej časti si vytvorime inštanciu v systéme OpenStack pomocou nástroja Terraform.

Aktualizované 30. januára 2023

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu