Pody: najmniejsza jednostka
Dowiedz się, czym jest Pod, do czego służy oraz jak definiować i tworzyć Pody za pomocą manifestów YAML.
Pody: najmniejsza jednostka 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.
Witaj w świecie Podów!
W Kubernetes najmniejsza jednostka, którą można wdrożyć, nosi nazwę Pod. Można traktować ją jako podstawowy element konstrukcyjny aplikacji.
W tej lekcji poznasz Pody, ich przeznaczenie oraz sposób tworzenia ich za pomocą YAML.

Czym jest Pod?
Pod to abstrakcja reprezentująca pojedynczą instancję aplikacji. Zawiera jeden lub więcej kontenerów oraz współdzielone zasoby.
- Kontenery: Zwykle kontenery Docker uruchamiające kod aplikacji.
- Pamięć masowa: Współdzielone woluminy pamięci masowej służące do trwałego przechowywania danych.
- Sieć: Unikalny adres IP i konfiguracja sieciowa Poda.
Dlaczego Pody, a nie same kontenery?
Możesz się zastanawiać, dlaczego Kubernetes używa Podów zamiast bezpośrednio zarządzać kontenerami. Oto powód:
- Współdzielone zasoby: Kontenery w Podzie współdzielą tę samą przestrzeń nazw sieci i mogą komunikować się za pomocą
localhost. - Współlokowanie: Zapewnia, że ściśle powiązane kontenery (na przykład aplikacja i jej sidecar do rejestrowania logów) są zawsze planowane na tym samym węźle.
- Abstrakcja: Pody zapewniają abstrakcję wyższego poziomu, ułatwiając zarządzanie aplikacjami jako całością zamiast pojedynczymi kontenerami.
Budowa prostego Poda
Większość Podów uruchamia jeden kontener. To najczęstszy przypadek użycia. Pod może na przykład uruchamiać tylko serwer internetowy Nginx albo aplikację Node.js.
Nawet przy jednym kontenerze Pod zapewnia kontekst sieci i pamięci masowej, dzięki czemu stanowi kompletną jednostkę wdrożeniową.
Definiowanie Podów za pomocą YAML
Obiekty Kubernetes, w tym Pody, są zwykle definiowane za pomocą plików YAML (YAML Ain't Markup Language). Pliki te opisują pożądany stan zasobów.
Podstawowa definicja Poda w YAML zawiera:
apiVersion: Wersję API Kubernetes.kind: Typ obiektu Kubernetes (np.Pod).metadata: Informacje takie jaknameilabelsPoda.spec: Pożądany stan, w tym kontenery do uruchomienia.
Przykład: YAML Poda Nginx
Przyjrzyjmy się prostej definicji YAML Poda uruchamiającego serwer internetowy Nginx.
Sekcja spec.containers definiuje kontener lub kontenery wewnątrz Poda, w tym ich name, image i ports.
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Tworzenie pierwszego Poda
Aby utworzyć Poda z pliku YAML, użyj polecenia kubectl apply. Polecenie to nakazuje Kubernetes utworzyć lub zaktualizować zasoby na podstawie definicji.
Najpierw zapisz poprzednią zawartość YAML w pliku o nazwie nginx-pod.yaml.
kubectl apply -f nginx-pod.yamlSprawdzanie stanu Poda
Po zastosowaniu pliku YAML możesz sprawdzić stan Poda za pomocą polecenia kubectl get pod. Pod powinien mieć stan Running.
Aby uzyskać bardziej szczegółowe informacje, w tym zdarzenia i stan kontenera, użyj polecenia kubectl describe pod.
kubectl get pod nginx-pod
kubectl describe pod nginx-podPody wielokontenerowe (sidecary)
Choć Pody z jednym kontenerem są powszechne, Pod może również zawierać wiele kontenerów. Są one zwykle ściśle powiązane i współdzielą zasoby.
Typowym wzorcem jest kontener „sidecar”, który działa obok głównego kontenera aplikacji i udostępnia pomocnicze usługi, takie jak rejestrowanie logów, monitorowanie lub synchronizacja danych.
Więcej szczegółów na temat tego wzorca poznasz w przyszłej lekcji!
Sprawdzian z definicji Poda
Które z poniższych pól NIE jest wymaganym polem najwyższego poziomu w podstawowej definicji Poda Kubernetes w YAML?
Podsumowanie: Pody — fundament
Dowiedziałeś(-aś) się, że Pody są najmniejszymi jednostkami, które można wdrożyć w Kubernetes, i hermetyzują kontenery oraz zasoby pamięci masowej i sieci.
- Pody abstrakują kontenery, umożliwiając współdzielenie zasobów i współlokowanie.
- Pliki YAML definiują Pody za pomocą pól
apiVersion,kind,metadataispec. - Pody tworzy się poleceniem
kubectl apply -f <filename>, a sprawdza za pomocąkubectl get podikubectl describe pod.
W następnej części zagłębimy się w cykl życia i stany tych podstawowych elementów!
Często zadawane pytania
Czy lekcja „Pody: najmniejsza jednostka” jest bezpłatna?
Tak — pełny tekst „Pody: najmniejsza jednostka” 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 „Pody: najmniejsza jednostka”?
Dowiedz się, czym jest Pod, do czego służy oraz jak definiować i tworzyć Pody za pomocą manifestów YAML. Ć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 „Pody: najmniejsza jednostka”?
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
- Pody: najmniejsza jednostka
- Cykl życia i stany Poda
- Pody wielokontenerowe (sidecary)
- Kontenery init i kolejność uruchamiania