0Pricing
DevOps Bootcamp · Lekcja

Udostępnianie, wzmacnianie i inicjalizacja hostów

Doprowadzanie nowych serwerów do stanu bazowego.

Udostępnianie, wzmacnianie i inicjalizacja hostów to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 2 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Od pustego serwera do bazowej konfiguracji

Nowe hosty są puste. Rola common doprowadza każdy serwer do jednego bezpiecznego i spójnego stanu bazowego, zanim trafi na niego kod aplikacji. 🛠️

Aktualizowanie pamięci podręcznej pakietów

Najpierw należy odświeżyć informacje o pakietach, aby instalacje korzystały z aktualnych wersji. Moduł apt może zaktualizować pamięć podręczną w jednym idempotentnym zadaniu.

- name: Update apt cache
  ansible.builtin.apt:
    update_cache: true
    cache_valid_time: 3600

Instalowanie pakietów bazowych

Należy użyć pętli, aby zainstalować narzędzia potrzebne na każdym hoście, takie jak curl, vim i ufw, w jednym czytelnym zadaniu.

- name: Base packages
  ansible.builtin.apt:
    name:
      - curl
      - ufw
      - fail2ban
    state: present

Tworzenie użytkownika wdrożeniowego

Praca z aplikacją nigdy nie powinna być wykonywana jako root. Moduł user tworzy dedykowane konto wdrożeniowe, które od tej pory jest właścicielem aplikacji.

- name: Create deploy user
  ansible.builtin.user:
    name: deploy
    groups: sudo
    shell: /bin/bash

Przesyłanie klucza SSH

Należy użyć authorized_key, aby przyznać użytkownikowi wdrożeniowemu dostęp za pomocą klucza, dzięki czemu kolejne uruchomienia będą łączyć się bez haseł.

- name: Add deploy key
  ansible.posix.authorized_key:
    user: deploy
    key: "{{ deploy_pubkey }}"

Zabezpieczanie SSH

Należy wzmocnić konfigurację demona: wyłączyć logowanie roota i uwierzytelnianie hasłem. Moduł lineinfile bezpiecznie i idempotentnie modyfikuje sshd_config.

- ansible.builtin.lineinfile:
    path: /etc/ssh/sshd_config
    regexp: "^PermitRootLogin"
    line: "PermitRootLogin no"
  notify: Restart sshd

Otwieranie tylko potrzebnych portów

Należy skonfigurować zaporę za pomocą ufw: zezwolić na SSH i porty aplikacji, a pozostały ruch odrzucić. Domyślnie minimalizujemy zakres dostępnych usług.

- community.general.ufw:
    rule: allow
    port: "22"
    proto: tcp

Ustawianie strefy czasowej i NTP

Spójne zegary mają znaczenie dla logów i certyfikatów. Należy ustawić strefę czasową i włączyć synchronizację czasu, aby każdy host miał ten sam czas.

- community.general.timezone:
    name: UTC

Przenoszenie operacji do handlera

sshd należy restartować tylko po zmianie jego konfiguracji, używając notify wraz z handlerem, a nie przy każdym uruchomieniu.

handlers:
  - name: Restart sshd
    ansible.builtin.service:
      name: sshd
      state: restarted

Uruchamianie idempotentne

Należy uruchomić rolę common dwukrotnie; drugie przejście powinno zgłosić głównie stan ok, a nie changed. Dowodzi to, że konfiguracja bazowa rzeczywiście osiągnęła stan docelowy.

Konfiguracja bazowa przed aplikacją

Najpierw należy zadbać o bezpieczeństwo, aby aplikacja była wdrażana na znanym i zabezpieczonym hoście. Bootstrapowanie stanowi fundament, na którym opiera się cała reszta. 🔒

Szybkie sprawdzenie

Jedna decyzja pozwala zachować przejrzystość modyfikacji konfiguracji SSH.

Podsumowanie

Przygotowano konfigurację bazową: pakiety, użytkownika wdrożeniowego, klucze SSH, zabezpieczony sshd, zaporę i synchronizację czasu — wszystko w sposób idempotentny. ✅

Często zadawane pytania

Czy lekcja „Udostępnianie, wzmacnianie i inicjalizacja hostów” jest bezpłatna?

Tak — pełny tekst „Udostępnianie, wzmacnianie i inicjalizacja hostów” 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 DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Udostępnianie, wzmacnianie i inicjalizacja hostów”?

Doprowadzanie nowych serwerów do stanu bazowego. Ćwiczysz DevOps Bootcamp 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ąć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp 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 2 z 4.

Ile czasu zajmuje lekcja „Udostępnianie, wzmacnianie i inicjalizacja hostów”?

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 DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp 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. Architektura projektu: role i inventory
  2. Udostępnianie, wzmacnianie i inicjalizacja hostów
  3. Wdrożenie kroczące za load balancerem
  4. Testy smoke, wycofywanie i powiadomienia
← Powrót do DevOps Bootcamp