Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Szkolenie: Terraform na Azure

Warsztat wprowadzający do Terraform dla osób bez wcześniejszego doświadczenia z tym narzędziem. 8 godzin, podzielone na dwa dni po 4 godziny, w większości praktyka.

Wymagania

  • Aktywna subskrypcja Azure. Każdy uczestnik ma własną, dedykowaną grupę zasobów (Resource Group) przygotowaną przez prowadzącego, z nadanymi uprawnieniami do zarządzania zasobami w jej obrębie. Nazwy zasobów w tym kursie i tak są budowane z Twoich inicjałów (owner) i nazwy projektu (project), więc nawet gdyby dwie osoby pracowały w tej samej grupie zasobów, nazwy się nie zderzą — ale zakładamy własną grupę na osobę.
  • Zainstalowane narzędzia (lub dostęp do Azure Cloud Shell, gdzie są już gotowe) — patrz Instalacja narzędzi niżej:
    • Terraform CLI w wersji >= 1.9
    • Azure CLI, zalogowane do właściwej subskrypcji (az login)
    • Edytor kodu (np. VS Code z rozszerzeniem HashiCorp Terraform)
  • Podstawowa znajomość terminala/wiersza poleceń.

Instalacja narzędzi

Jeśli pracujesz w Azure Cloud Shell, masz oba narzędzia już zainstalowane — możesz pominąć tę sekcję. Poniżej instrukcje do instalacji lokalnej, na własnym komputerze.

Terraform CLI

Oficjalna strona instalacji (wybierz swój system): developer.hashicorp.com/terraform/install.

  • macOS (Homebrew):
    brew tap hashicorp/tap
    brew install hashicorp/tap/terraform
  • Linux (Ubuntu/Debian, apt):
    wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
    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 install terraform
  • Windows: na stronie instalacji pobierz plik .zip dla Windows, rozpakuj i dodaj folder do zmiennej środowiskowej PATH (Panel sterowania → Zmienne środowiskowe). Instrukcja krok po kroku jest na stronie linkowanej wyżej.

Weryfikacja (każdy system):

terraform version

Azure CLI

Ważne, szczególnie na Windows: Azure CLI (az) to osobne narzędzie od modułu Azure PowerShell (Az.* cmdlety) — jeśli masz już zainstalowany Azure PowerShell, to nie wystarczy do tego kursu. Ten warsztat używa polecenia az, dodatkowo Terraform wymaga Azure CLI oddzielnie do uwierzytelniania nawet na Windows.

Oficjalna strona instalacji: learn.microsoft.com/cli/azure/install-azure-cli.

Po instalacji, na każdym systemie:

az version
az login

Jak korzystać z repozytorium

  • workshop/ — Twój jedyny folder roboczy. Pracujesz w nim przez cały kurs — pliki .tf rosną z laba na lab, tak jak rósłby prawdziwy projekt.
  • Lab-XX-temat/README.md — instrukcje kroku po kroku dla kolejnego labu. Otwórz je w podanej kolejności.
  • Lab-XX-temat/solution/ — kompletny, poprawny kod na koniec danego labu (zawiera już wszystko z poprzednich labów). Jeśli utkniesz lub coś nie działa, skopiuj zawartość solution/ do workshop/ i idź dalej.

Każdy lab zaczyna się od stanu workshop/ z poprzedniego labu — nie usuwaj zasobów między labami (poza wyjątkami wyraźnie opisanymi w README danego labu). Wyjątek: Lab 10 ma dodatkowo folder broken/ — to nie jest szkielet do uzupełnienia, tylko celowo zepsuty kod do naprawienia (patrz README tego labu). Lab 09 ma dodatkowo folder modules/ — to reużywalny moduł, który wywołujesz z workshop/, nie edytujesz przez kopiowanie do workshop/ wprost.

Agenda

Dzień 1 (4h)

Lab Temat Orientacyjny czas
01 Czym jest provider? Proces plan/apply, state 40 min
02 Provider Azure, konfiguracja, data 35 min
03 Sieć wirtualna i podsieci 60 min
04 Zmienne, terraform.tfvars, tagi 45 min

Dzień 2 (4h)

Lab Temat Orientacyjny czas
05 Drift i lifecycle 45 min
06 Storage Account, Private Endpoint, zależności 60 min
07 Key Vault, RBAC, plik stanu i sekrety 45 min
08 Backend zdalny — migracja stanu 45 min
08 Moduły - dzielenie i re-używanie kodu 45 min

Czasy są orientacyjne — prowadzący dostosuje tempo do grupy. Dzień 2 bywa ciasny w czasie, bo Lab 07 zależy od propagacji RBAC w Azure, na co nie mamy wpływu. Jeśli grupie brakuje czasu, oba laby bonusowe poniżej odpadają jako pierwsze.

Bonus

Lab Temat Orientacyjny czas
09 Moduły: zbuduj i wywołaj własny moduł Storage Account 45–60 min
10 Debugowanie: czytanie błędów Terraform i Azure (w tym błędy modułów) 45–60 min

To materiał dla osób, które skończą wcześniej, albo do zrobienia samodzielnie po kursie. Lab 10 zakłada, że masz już za sobą Lab 09 (moduł storage musi istnieć w Twoim workshop/).

Sprzątanie po warsztacie

Na koniec dnia 2, po Labie 08: terraform destroy w workshop/, żeby usunąć wszystkie utworzone zasoby z Twojej grupy zasobów.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages