top of page

Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
Zdjęcie autoraPiotr Kośka

Terraform Cloud i VCS


Terraform Cloud
Terraform Cloud Konfiguracja

Hej w tym artykule spojrzymy na darmowe środowisko do automatyzacji dla terraforma jakim jest Terraform Cloud. Spojrzymy jak połączyć go w repozytorium git (użyję github, choć współpracuje jeszcze z bitbucket, gitlab i azure devops). Zatem zaczynamy.


Założenie konta w Terraform Cloud.


Zakładamy konta na stronie logowania do naszego Terraform Cloud.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Konto jest darmowe i możemy na nim uruchomić do 500 zasobów w naszym stanie. Teoretycznie jeden blok to jeden zasób w naszym stanie oczywiście pamiętajmy o count i for_each, które zwielokrotniają nam bloki. Dla mini naszego labu w zupełności wystarczy.


Terraform Cloud - konfiguracja konta.


Po założeniu konta i pierwszym zalogowaniu będziemy proszeni o potwierdzenie adresu email na który założyliśmy konto. Po pomyślnym potwierdzeniu możemy zacząć pracę z naszym terraform cloud i utworzyć pierwszą organizacje w Terraform Cloud.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Klikamy niebieski przycisk i przystępujemy do nadania nazwy dla naszej organizacji w Terraform Cloud. To tu będziemy trzymać nasze wszystkie projekty i workspace. Możemy podejść że nazwa to nazwa naszego domowego środowiska labowego lub nazwa firmy, lub jej jednostka organizacyjna.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Nazwa organizacji jest unikatowa, dlatego nazwa typu test nie przejdzie ponieważ jest już zajęta. Dlatego ustawiamy coś pasującego do nas. A jak nazwa jest już zajęte to dodajemy jakiś prefix. Adres email uzupełni się na bazie tego co podaliśmy zakładając konto.


Po stworzeniu organizacji będziemy mogli określić typ naszego workspace mamy trzy opcje do wyboru (my w tym artykule skupimy sie na jednej, inne omówimy w kolejnych publikacjach).


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

My wybierzemy Version Control Workflow, ale mamy jeszcze:

  • CLI-Driven Workflow - to rozwiązanie jest dobre kiedy chcemy polaczyć nasze Terraform Cloud z Terraform CLI.

  • API-Driven Workflow - to rozwiązanie jest dobre gdy naszym terraform zarządzamy np z github action, jenkins itp.


Nasz wybór daje nam najlepsze rozwiązanie dla osób które chcą szybko zacząc z Terraform Cloud i mieć jednocześnie mini środowisko do automatyzacji. Zatem wybieramy Version Control Workflow.


Konfiguracja VCS w Terraform Cloud



Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

VCS to nasz Version Control System, w terraform cloud możemy zintegrowac go z GitHub, Bitbucket, GitLab, Azure DevOps - wybieramy swój ulubiony i konfigurujemy integrację. Jak wybrałem github. Oczywiście wcześniej musimy mieć repozytorium założone. Repozytorium może być prywatne lub publiczne z punktu widzenia terraform cloud nie ma to znaczenia.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Mając nasze repo możemy zrobić integracje z naszym github. Klikamy odpowiedni przycisk z ikoną github i z listy wybieramy nasza instalacje github (ja wybrałem github.com). Wyskoczy nam popup z akceptacją instalacji integracji z GitHub.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Ustawiamy tu dostęp do wszystkich repozytoriów lub tylko wybranych. Po kliknięciu przycisku install mamy połączone nasze Terraform Cloud z GitHub. Co możemy zaobserwować w naszym interfejsie Terraform Cloud po tym że przeskoczyliśmy na krok numer 2


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

W oknie Choose a repository będzie lista dostępnych naszych repozytoriów do których możemy się podłączyć i połączyć je z naszym tworzonym workspace. Wybieramy i podświetlany je na fioletowo. Po kliknięciu przechodzimy już do trzeciego okna i nadajemy nazwę dla naszego workspace. Domyślnie przyjmie on nazwę naszego repozytorium. Możemy to zostawić lub zmienić jego nazwę.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Ustawiamy nazwę i description tak by najlepiej opisywał nasz workspace. Rozwijamy opcje Advanced i ustawiamy nasza konfigurację


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Branch-based, VSC branch na main, Automatic Run triggering na Always trigger runs i Pull Request na Automatic speculative plans. Inne opcje na razie nie zaznaczam, omówimy je innym razem. Klikamy Create.


Terraform Cloud set variables i start new plan


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Mamy nasz workspace stworzony. Teraz Terraform Cloud poprosi nas o ustawienie zmiennych lub jak będa one podane w kodzie to zostaną zaciągnięte. Je podłączyłem puste repozytorium dlatego nie mam jeszcze zmiennych terraform i mogę kliknąć Go to workspace overview - zmienne dodamy później.


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Wszystko co do tej pory zrobiliśmy przedstawia ten film z youtube:



Terraform Cloud - dodajmy nasz kod do repozytorium.


Repozytorium które używam w tym materiale jest dostępne pod tym adresem: https://github.com/TheRealMamuth/szkolenia_cloud_terraform_cloud


Wspomniałem o konfiguracji naszych zmiennych - klikamy Configuration Variables i dodajemy nasze zmienne - nazwy takie same jak w pliku variables.tf


Terraform Cloud Konfiguracja
Terraform Cloud Konfiguracja

Terraform Cloud

Zapisujemy zmienne. Po dodaniu naszego kodu - pozostaje tylko uruchomienie naszego kodu, konfiguracji z poziomu UI naszego Terraform Cloud.







W kolejnym materiale omówimy sobie automatyzacje oraz bardziej zaawansowane konfiguracje w Terraform Cloud. Zapraszam

16 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie

Comments


Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube

Poznaj terraform jedno z najepszych narzedzi do zarządzania infrastrukturą w kodzie (IaC) - w kursie tym przeprowadzam Cię przez proces instalacji i konfiguracji tego narzędzia.

bottom of page