0Pricing
Ansible Academy · Lekcja

Udostępnianie, a następnie konfiguracja w jednym przepływie

Przekazywanie nowych hostów do playów konfiguracyjnych.

Udostępnianie, a następnie konfiguracja w jednym przepływie to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Dwa zadania, jeden playbook

Udostępnianie zasobów sprawia, że serwer istnieje. Konfigurowanie czyni go użytecznym. Prawdziwa siła polega na wykonaniu obu czynności w jednym, płynnym playbooku. 🔗

Udostępnij zasoby na węźle sterującym

Zadania tworzące zasoby chmurowe są wykonywane lokalnie i komunikują się z interfejsem API AWS, dlatego playbook udostępniający zasoby jest kierowany do localhost, a nie do nowego serwera.

- hosts: localhost
  gather_facts: false
  tasks:
    - amazon.aws.ec2_instance: { name: web-01 }

Przechwyć nowy host

Nie można połączyć się przez SSH z maszyną, o której istnieniu nie ma jeszcze informacji. Należy użyć register dla wyniku ec2_instance, aby pobrać jej świeży publiczny adres IP.

- amazon.aws.ec2_instance:
    name: web-01
  register: ec2

Dodaj go do inwentarza w pamięci

Moduł add_host dodaje nowy serwer do działającego inwentarza, dzięki czemu późniejszy play może kierować zadania do niego bez używania statycznego pliku.

- add_host:
    name: "{{ ec2.instances[0].public_ip_address }}"
    groups: launched

Poczekaj na gotowość SSH

Uruchamiająca się instancja nie jest od razu dostępna. wait_for wstrzymuje działanie, dopóki port 22 nie zacznie odpowiadać, zanim zostanie podjęta próba połączenia.

- wait_for:
    host: "{{ ec2.instances[0].public_ip_address }}"
    port: 22

Rozpocznij drugi play

Teraz należy otworzyć nowy play kierowany do właśnie utworzonej grupy launched. Ten play jest wykonywany na samym serwerze chmurowym.

- hosts: launched
  become: true
  tasks:
    - ping:

Skonfiguruj nowy host

Gdy host znajduje się już w inwentarzu, do pracy przystępują zwykłe moduły. Należy zainstalować pakiety, skopiować konfiguracje i uruchomić usługi, tak jak na każdym innym węźle.

- hosts: launched
  tasks:
    - package:
        name: nginx
        state: present

Przekaż właściwego użytkownika SSH

Obrazy chmurowe używają określonych danych logowania, takich jak ubuntu lub ec2-user. Należy ustawić ansible_user, aby play konfiguracyjny poprawnie nawiązał połączenie.

add_host:
  name: "{{ ec2.instances[0].public_ip_address }}"
  groups: launched
  ansible_user: ubuntu

Jeden plik od początku do końca

Rezultatem jest pojedynczy playbook: pierwszy play tworzy infrastrukturę, a drugi ją konfiguruje. Wystarczy uruchomić go raz, aby pojawił się działający serwer.

Idempotentność na każdym etapie

Obie części są idempotentne. Ponowne uruchomienie dopasowuje się do istniejącej instancji i doprowadza konfigurację do oczekiwanego stanu, dzięki czemu cały przepływ jest bezpieczny do powtarzania.

Pomiń monity o klucz hosta

Nowy host ma nieznany klucz SSH. Należy wyłączyć host_key_checking dla uruchomionej grupy, aby pierwsze połączenie nie zostało wstrzymane.

add_host:
  name: "{{ ec2.instances[0].public_ip_address }}"
  groups: launched
  ansible_ssh_common_args: "-o StrictHostKeyChecking=no"

Szybkie sprawdzenie

Dopiero co uruchomiono instancję EC2 i kolejny play ma ją skonfigurować, bez statycznego wpisu w inventory. Co wypełnia tę lukę?

Podsumowanie

Połączono provisionowanie i konfigurację: utworzenie na localhost, zarejestrowanie adresu IP, add_host, oczekiwanie na SSH, a następnie konfiguracja w drugim playu. ✨

Często zadawane pytania

Czy lekcja „Udostępnianie, a następnie konfiguracja w jednym przepływie” jest bezpłatna?

Tak — pełny tekst „Udostępnianie, a następnie konfiguracja w jednym przepływie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Udostępnianie, a następnie konfiguracja w jednym przepływie”?

Przekazywanie nowych hostów do playów konfiguracyjnych. Ćwiczysz Ansible Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ansible Academy?

Nie wymagamy żadnego doświadczenia. Ansible Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Udostępnianie, a następnie konfiguracja w jednym przepływie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ansible Academy?

Tak. Każda lekcja Ansible Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Kolekcje chmurowe i uwierzytelnianie
  2. Deklaratywne uruchamianie instancji EC2
  3. Sieci: VPC, podsieci i grupy zabezpieczeń
  4. Udostępnianie, a następnie konfiguracja w jednym przepływie
← Powrót do Ansible Academy