Terraform – Szkolenie Kompleksowe Video
Typ szkolenia: Wideo
Ucz się w swoim tempie, oglądając pojedyncze lekcje.
Bierz udział w warsztatach na żywo.
Prowadzący szkolenie: Piotr Kośka
Piotr Kośka to doświadczony inżynier infrastruktury i bezpieczeństwa z ponad dekadą praktyki w różnych dziedzinach technologii IT. Procował jako starszy inżynier bezpieczeństwa i infrastruktury w Huuuge Games, gdzie zarządzał zespołem i infrastrukturą chmurową AWS, środowiskiem CI/CD, a także narzędziami automatyzacji takimi jak Ansible, Salt, Terraform i OpenTofu. Pracował również dla Hamsa Pay, 3Shape Poland, Anixe – Jako Architekt architektury chmurowej oraz operator środowisk CI/CD takich jak github actions, Jenkins, Team City.
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektach informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash, Python. Jego bogate doświadczenie obejmuje pracę z wieloma systemami Linux, takimi jak Ubuntu, Debian, CentOS i CoreOS, a także administrację serwerem Jenkins i zarządzanie kontenerami Docker i LXC/LXD, Kubernetes.
Hej, cześć…
Witaj w kursie terraform. Jest to kompleksowy kurs, który wprowadzi Cię w tajniki tworzenia infrastruktury za pomocą kodu. Poznasz nie tylko podstawy działania samego narzędzia jakim jest Terraform także poznasz dobre praktyki pracy związane z tym narzędziem i językiem. Będziemy pracować na przykładowych konfiguracjach uruchomionych w chmurze AWS, Azure, GCP, DigitalOcean oraz innych mniej lub bardziej popularnych dostawców chmurowych.
Zobaczysz i przećwiczyć podejścia związane z bezpieczeństwem jeżeli chodzi o konfiguracje z terraform w cloud AWS, Azure, GCP, DigitalOcean. Nauczysz się jak za pomocą dodatkowych narzędzi takich jak trivy weryfikować poprawność swojej konfiguracji. Wykorzystasz tez dobrodziejstwa AI z Amazon Q w celu generowania szablonów, refaktoringu kodu w Terraform.
Połaczymy też terraform z narzędziami CI/CD takimi jak Github Actions, Jenkins by skonfigurować i zbudować poprawny pipeline wykorzystujący nasz kod terraform. Połączymy się też z Terraform Cloud by zobaczyć jakie daje on funkcje i rozwiązania jeżeli chodzi o automatyzację i konfigurację naszej infrastruktury.
Kurs też dodatkowo przygotowywuje Cię do dwóch certyfikacji dostępnych na stronie HashiCorp Terraform.
- Certyfikacji podstawowej zwanej Terraform Associate w wersji 003 (Oczywiście wszelkie aktualizację otrzymujesz za darmo jak tylko się pojawią nowe wersje).
- Certyfikacji zaawansowanej zwanej Terraform Authoring and Operations Professional (Tu również aktualizacje dostępne są za darmo jak tylko się pojawią).
Z całą ścieżką możesz zapoznać sie na oficjalnej stronie: Terraform https://developer.hashicorp.com/certifications/infrastructure-automation
Oprócz tego kurs kompleksowo przygotowuje Cię do roli Cloud Inżyniera i daje solidne podstawy DevOps. A te umiejętności mocno cenione są na rynku pracy.
Nie przekonany? Zobacz co znajduję się w każdej z lekcji
Autor szkolenia jest posiadaczem certyfikatu Terraform Associate w wersji 003, jest to grwarncja kompetencji w tym temacie.
Przykład darmowej lekcji z tego kursu:
Część materiał jest dostępny na moim kanale na YouTube.
Dostępne też mini szkolenie o terraform
Jeżeli masz wątpliwości to zapraszam Cię do darmowego materiału o terraform to 2 godziny lekcji o terraform całkowicie za darmo. Może te lekcje Cię przekonają i wrócisz do pełnego kursu który zawiera znacznie więcej
Co dokładnie zawiera ten kurs
Moduł 1 – Terraform wprowadzenie
Moduł pierwszy to teoretyczne wprowadzenie czym jest terraform, jak wpisuje się w zarządzanie chmurą. Poznasz też czym jest HCL oraz jak z niego korzystać. Poznamy też podstawowe bloki dostępne w terraform. Zobaczysz porównanie narzędzia terraform do innych narzędzi tego typu jak Ansible, Puppet, CloudFormation itp. Moduł pierwszy to też agenda całego kursu, krótkie przywitanie się ze mną oraz ogólna konfiguracja naszego środowiska – co będzie potrzebne itp.
Jakie tematy porusza ten moduł:
- Wstęp
- O autorze
- O czym jest kurs
- Egramin terraform – wstęp
- Agenda
- Nasz tools set w ramach szkolenia
- O IaC
- Inne narzedzia IaC
- Szybkie spojrzenia na Write, Plan, Apply
- Dlaczego terraform
- Demo CI/CD z terraform
- Czym jest terraform
- Wersje terraform
- Model imperatywny i dekleratywny
- Review Guide
- Podstawy składni HCL
- Terraform podstawy konstrukcji obiektów w HCL
- Struktura plików i katalogów w terraform
- Terrafrom praca z plikami
- Konstrukcja bloków i bloku w kodzie HCL oraz dostępne bloki
- Podstawowe omówienie bloków oraz ich rola
- Przegląd platformy registry
- Czym jest provider
- Wprowadzenie do Ćwiczeń z terraform
- Terreform – początki teoretyczne (artykuł)
Moduł 2 – Podstawy terraform, core workflow
Wprowadzenie do terraform jako narzędzia – podstawy, zobaczysz jak to narzędzie działa lokalnie z wykorzystaniem providera docker. Poćwiczysz składnie i polecenia by potem uruchomić i skonfigurować infrastrukturę z cloud. Co zawiera ten moduł.
- Instalacja terraform w systemie windows
- Instalacja terraform w systemie Linux (dodatek)
- Instalacja na MacOS – homebrew (dodatek)
- Instalacja na MacOS – terraform (dodatek)
- AWS Cloud9 Online IDE
- AWS Cloud 9 IDE – SSH, extend storage
- Terraform init
- Terraform workflow write, plan, apply na podstawie przykładu cicd
- Nasz pierwszy provider (stary materiał)
- Terraform z docker lokalne testy playground
- Terraform – pierwszy plan i apply
- gitignore w reposytorium z kodem terraform
- Terraform spojrzenie na plan, apply, destroy
- Terraform przykład terraform plan, apply, validate
- Terraform komenda terraform apply i add, change, destroy
- Terraform walidacja i formatowanie kodu – przykład na docker
- Terraform – plan z przełącznikiem out
- Terraform plan test na docker
- Zmiany ręczne w infrastrukturze czy są pożądane
- Terraform destroy
- Terraform komenda terraform destroy
- Standard Workflow w terraform
- Terraform init teoretyczne objaśnienie
- Terraform validate teoretyczne objaśnienie
- Terraform fmt teoretyczne objaśnienie
- Przygotowanie do kodowania w terraform
- Maszyna wirtualna w digitalocean
- Nasz zasób w digitalocean
- Terraform tworzenie instancji w AWS
- Terraform tworzenie instancji AZURE
- Terraform usuwanie konfiguracji z naszych cloud (AWS, AZURE, DigitalOcean)
- Terraform plan teoretyczne objaśnienie
- Terraform apply teoretyczne objaśnienie
- Terraform destroy teoretyczne objaśnienie
- Review guide podsumowanie – część 02
- Zadanie do wykonania wspólnie z terraform – szczegoły
- Realizacja zadania na digitalocean zasoby część 01
- Realizacja zadania na digitalocean zasoby część 02
- Realizacja zadania na digitalocean zasoby część 03
- Dodajemy lokalne zasoby tls i local w naszej konfiguracji
- Weryfikacja konfiguracji
Moduł 3 – Resources, zasoby deep dive
W tym module będziemy jeszcze więcej uruchamiać zasobów w rożnych Cloudach. Zobaczymy jak to zrobić w AWS, Azure, DigitalOcean tak by poznać i zobaczyć elastyczność terraform. Pamietaj też że terraform może nie tylko zarządzać infrastruktura w cloud. Terraforma podłączysz do większości technologii które wystawiają API. Na przykład proxmox, openstack, bind9 – to tylko przykłady znacznie więcej znajdziesz w lekcji.
- Zasoby wprowadzenie do deep dive
- Tworzymy zasoby na AWS cz. 1
- Tworzymy zasoby na AWS cz. 2
- Tworzymy zasoby na AWS cz. 3
- Zależności między zasobami
- metaargument depends_on
- więcej o metaargumencie depends_on
- metaargument count
- Przykład z metaargument count w Azure
- Metaargument for_each
- for each, przyklad z cloud digitalocean
- update atrybutu w for each przykład z cloud digitalocean
- przykład graph z for each dla cloud digitaocean
- for each przyklad z cloud azure
- timeouts przykład z cloud azure
- korzystanie z zestawów w terraform
- alias w zasobach (provider alias in resources)
- AWS przykład z wykorzystanie alias provider
- AWS metaargument lifecycle – przykład
- AZURE metaargument provisioner local-exec przykład
- AWS provisioner file przykład
- AWS provisioner remote exec przykład
- O pliku .terraform.lock.hcl
- Przykłady pracy z plikiem blokady w AWS, Azure i DigitalOcean
Moduł 4: variables, outputs, locals, data
Tu pracujemy ze zmiennymi i rozkładamy je na czynniki pierwsze. Zgłębiając takie bloki jak variable, output, locals. Zobaczymy i przećwiczymy do czego możemy je wykorzystać podczas pracy z terraform.
Pomówimy sobie też o blokach data source które w terraform pełnią role bloków R/O (Read Only) odpowiemy sobie na pytanie kiedy powinniśmy z nich korzystać oraz jakie informacje nam dostarczają.
- Variables szczegółowe wprowadzenie
- Terraform – koncepcyjnie zmienne
- Terraform – używamy zmiennych
- AWS przykład pracy ze zmiennymi
- Typy naszych zmiennych, podstawowy i złożony
- AWS zmienne złożone
- O zmiennych ciąg dalszy
- Digitalocean przykład użycia zmiennych
- Niestandardowe reguły walidacji – variables
- Niestandardowe reguły walidacji – przykład digitalocean
- Sensitive value, variables
- Ujawnianie wartości sensitive
- Wartości Null
- Podsumowanie o zmiennych
- Ćwiczenia zmienne – digitalocean
- outputs
- Niestandardowe kontrole stanu – output
- Metaargumenty output
- Locals
- Terrafrom output i przykład użycia
- Terraform output, funkcja join i data
- Terraform data i przykład użycia
- Locals i outputs przykład z DigitalOcean
- Niestandardowe reguły walidacji – przykłady DigitalOcean
- Źródła danych
- Źródła danych (data), przykład z DigitalOcean
- Review Guide, podsumowanie
Moduł 5: Funkcje, wyrażenie for, if, praca z terraform console, system plików i workspace
Tu przyjrzymy sie wbudowanym funkcja i mechanizma które ułatwaja prace z terraformem. Zobaczysz jak debugować oraz jak sprawdzać działanie terraform z wykorzystaniem terraform console.
- Terraform Console
- Wyrażenia w terraform
- Znaki ucieczki
- Dyrektywa Heredock
- Generowanie json, yaml
- Dyrektywy szblonowe
- Informacje o systemie plików w obszarze roboczym
- Terraform workspace
- Funkcje, wprowadzenie
- Instrukcje warunkowe
- instrukcja FOR w terraform
- variables zmieniamy na locals
- dyrektywa heredoc cz.1
- dyrektywa heredoc cz.2
- generowanie yaml
- specjalny obiekt path
- Workspace wprowadzenie cz.1
- Workspace wprowadzenie cz.2
- Bloki dynamiczne podstawy
- instrukcja warunkowa
- dyrektywy szablonowe
Moduł 6: Terraform state, backend, check, import i tworzenie modułów w Terraform
Zaawansowana praca ze stanem terraforma. Nie ma co ukrywać że największą zaleta pracy z terraform to stan zdalny tak zwany backend gdzie jest przechowywana cała nasza konfiguracja. Jest to tak zwane źródło prawdy.
- Terraform state wprowadzenie
- Kontrola i modyfikacja state
- Format i dostęp do danych stanu
- Cel terraform state
- Terraform state pull i push
- Terraform state lock
- Terraform workspace cz.3
Moduł 7: Bezpieczeństwo i CI/CD
Poznasz koncepcje oraz kwestie związane z CI/CD w terraform. Przykłady z Terraform Cloud, Github Actions, Jenkins dadzą Ci obraz na podejście oraz dobrą praktykę konfigurowania cloud za pomocą Terraforma w środowiskach CI/CD. Spojrzymy jak to wygląda w różnych cloudach AWS, Azure, GCP. Spojrzymy też na bezpieczeństwo w Terraform z Trivy i innymi narzędziami. Zautomatyzujemy wszystkie kroki w podejściu build, test, deploy go to production
- Konfiguracja Terraform Cloud
- Konfiguracja Github actions
- Konfiguracja Jenkinsa
- Budowa naszego pipeline
- Konfiguracja AWS za pomocą terraform dobre praktyki
- Konfiguracja Azure za pomocą terraform plus dobre praktyki
- Konfiguracja regoł i polityk bezpieczeństwa z trivy
- Inne narzędzia do bezpieczeństwa praktyczne przykłady
Moduł 8: Road to HashiCorp Certified: Terraform Associate i Professional
Ten moduł pokaże Ci jak przygotować się do certyfikacji okiem osoby która ta certyfikacje przechodziła i ją zdała. Zobaczysz jakie są wymagania oraz na jakim sprzęcie najlepiej podchodzić do egzaminu. W samym kursie na koniec znajdziesz pytania sprawdzające Twoją wiedzę bazujące na pytaniach które mogą pojawić się na egzaminie.
Moduł 9: Terraform w pipline (Przykłady z Jenkins i Github actions, Terraform Clod)
Ten moduł będzie i jest poświęcony CI/CD z wykorzystaniem IaC oraz podejściu do bezpieczeństwa naszej Infrastruktury w Kodzie. Mocno praktyczny pokazujący najlepsze triki i podejścia do budowania infrastruktury jako kod z wykorzystaniem AWS, Azure, GCP, DigitalOcean.
Warsztaty
Szkolenie realizujemy też w formie warsztatowej – co jakiś czas masz dostępne okna na wspólne konsultacje i konfiguracje IaC z wykorzystaniem Terraform i wspólnego kodu w git.
Jeszcze kilka przykładów lekcji jakie możesz znaleść w tym kursie.
Gwarancja i zwrot
Na zwrot kursu masz 30 dni od daty zakupu – jeżeli Ci materiał przedstawiony w kursie się nie spodoba oddam Ci pieniądze bez żadnego tłumaczenia z Twojej strony. Jeżeli minie te 30 dni i uznasz że jesteś nie zadowolony z kursu skontaktuj się ze mną – coś na to poradzę :).
Jeżeli masz pytania do każdego kursu będzie dedykowana grupa na discord oraz aktywny adres email na który możesz zadać Swoje pytanie. Jeżeli będą potrzebne konsultacje też da się zorganizować spotkanie online i porozmawiać na żywo – Daj znać!