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: ec2Dodaj 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: launchedPoczekaj 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: 22Rozpocznij 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: presentPrzekaż 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: ubuntuJeden 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
- Kolekcje chmurowe i uwierzytelnianie
- Deklaratywne uruchamianie instancji EC2
- Sieci: VPC, podsieci i grupy zabezpieczeń
- Udostępnianie, a następnie konfiguracja w jednym przepływie