0Pricing
DevOps Bootcamp · Lekcja

Udostępnianie aplikacji za pomocą Services

Poznaj rolę obiektów Services w zapewnianiu stabilnych punktów końcowych sieci dla Podów.

Udostępnianie aplikacji za pomocą Services to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 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.

Pody: dziś są, jutro ich nie ma

W Kubernetes Pody są najmniejszymi jednostkami, które można wdrażać. Zostały zaprojektowane jako tymczasowe i Kubernetes może je w dowolnym momencie utworzyć, zniszczyć lub przenieść.

Ta elastyczność sprzyja odporności, ale stwarza też wyzwanie: jak inne aplikacje mogą niezawodnie znajdować te stale zmieniające się Pody i komunikować się z nimi?

Problem zmiennego celu

Każdy Pod otrzymuje własny adres IP. Gdy Pod jest ponownie uruchamiany lub skalowany, często otrzymuje nowy adres IP. Bezpośrednie łączenie się z adresem IP Poda przypomina próbę trafienia w ruchomy cel!

Wyobraź sobie aplikację internetową z wieloma Podami. Jeśli jeden z Podów zostanie ponownie uruchomiony, jego adres IP się zmieni, zrywając połączenia z innych usług lub od użytkowników.

Usługi przychodzą z pomocą

Właśnie tutaj pojawiają się usługi Kubernetes! Usługa zapewnia stabilny, stały punkt końcowy sieci dla zestawu Podów.

Można myśleć o niej jak o stałym adresie aplikacji, nawet jeśli adresy poszczególnych Podów znajdujących się za usługą ciągle się zmieniają.

Stabilna brama dla Podów

Usługa działa jako warstwa abstrakcji nad grupą Podów. Zapewnia im jeden spójny adres IP i nazwę DNS.

  • Inne aplikacje korzystają ze stabilnego adresu IP lub nazwy usługi.
  • Następnie usługa kieruje ruch do zarządzanych przez siebie zdrowych Podów.
  • Rozdziela to klientów od adresów IP poszczególnych Podów.

Łączenie usług z Podami

Skąd usługa wie, do których Podów kierować ruch? Używa etykiet i selektorów!

Podczas definiowania usługi określasz wartość selector. Każdy Pod pasujący do tych etykiet automatycznie stanie się częścią grupy tej usługi.

To dynamiczne powiązanie oznacza, że nowe Pody są automatycznie dodawane, a niezdrowe Pody usuwane.

Kierowanie ruchem sieciowym

Usługi zarządzają przepływem ruchu sieciowego. Definiują porty, aby mapować przychodzące żądania na właściwe porty w Podach.

Najważniejsze pojęcia związane z portami:

  • port: Port, na którym nasłuchuje sama usługa.
  • targetPort: Port w Podzie, do którego usługa przekazuje ruch.

Tworzenie manifestu usługi

Podobnie jak większość zasobów Kubernetes, usługi definiuje się za pomocą plików YAML. Oto ich podstawowa struktura:

  • apiVersion: v1
  • kind: Service
  • metadata: Nazwa, etykiety
  • spec: Zawiera podstawową definicję, w tym pola selector i ports.

Pierwsza usługa: ClusterIP

Najczęściej używanym typem usługi do komunikacji wewnętrznej jest ClusterIP. Udostępnia on usługę pod wewnętrznym adresem IP w obrębie klastra.

Oto przykład prostej aplikacji internetowej:

apiVersion: v1
kind: Service
metadata:
  name: my-web-service
spec:
  selector:
    app: my-webapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

Wdrażanie usługi

Gdy masz już kod YAML usługi, możesz wdrożyć ją w klastrze za pomocą kubectl, podobnie jak Pody lub obiekty Deployment.

To polecenie informuje Kubernetes, aby utworzył usługę na podstawie podanej definicji:

kubectl apply -f service.yaml

Korzystanie z nowej usługi

Po wdrożeniu usługa otrzymuje stabilny adres IP i nazwę DNS w obrębie klastra. Inne Pody mogą teraz uzyskać dostęp do aplikacji za pomocą tej nazwy.

Na przykład inny Pod może połączyć się z adresem my-web-service:80, a usługa zajmie się przekierowaniem ruchu do właściwych Podów my-webapp.

Sprawdzenie wiedzy o usługach

Dowiedziałeś się, jak usługi Kubernetes zapewniają stabilny dostęp sieciowy do dynamicznych Podów.

Co najlepiej opisuje główną rolę usługi Kubernetes?

Podsumowanie: stabilne połączenia

Świetnie! W tej lekcji omówiliśmy usługi Kubernetes.

  • Pody są nietrwałe i mają dynamiczne adresy IP.
  • Usługi zapewniają Podom stabilne punkty końcowe sieci.
  • Używają selektorów do wyszukiwania docelowych Podów.
  • Usługi mapują zewnętrzny port na wewnętrzny targetPort.
  • ClusterIP jest często używanym typem do komunikacji wewnętrznej.

Następnie dokładniej omówimy różne typy usług i ich zastosowania!

Często zadawane pytania

Czy lekcja „Udostępnianie aplikacji za pomocą Services” jest bezpłatna?

Tak — pełny tekst „Udostępnianie aplikacji za pomocą Services” 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 aplikacji za pomocą Services”?

Poznaj rolę obiektów Services w zapewnianiu stabilnych punktów końcowych sieci dla Podów. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Udostępnianie aplikacji za pomocą Services”?

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. Udostępnianie aplikacji za pomocą Services
  2. Typy Service: ClusterIP, NodePort, LoadBalancer
  3. Ingress zapewniający dostęp zewnętrzny
  4. DNS i wykrywanie usług
← Powrót do DevOps Bootcamp