Namespaces i etykiety do organizacji
Organizuj zasoby klastra za pomocą namespaces zapewniających izolację oraz etykiet i selektorów służących do grupowania i wyszukiwania obiektów.
Namespaces i etykiety do organizacji to bezpłatna lekcja DevOps Bootcamp 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 DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Po co porządkować?
Rzeczywisty klaster uruchamia wiele aplikacji należących do różnych zespołów. Przestrzenie nazw i etykiety to wbudowane narzędzia Kubernetes, które pomagają utrzymać porządek w tych obiektach i ułatwiają ich wyszukiwanie.
Czym jest przestrzeń nazw?
Przestrzeń nazw to wirtualny klaster wewnątrz klastra. Nazwy zasobów muszą być unikalne w obrębie przestrzeni nazw, ale ta sama nazwa może powtarzać się w różnych przestrzeniach nazw.
Domyślne przestrzenie nazw
Każdy klaster zawiera kilka przestrzeni: default (do niej trafiają obiekty, jeśli nie określono inaczej), kube-system (komponenty klastra) oraz kube-public.
kubectl get namespacesTworzenie przestrzeni nazw
Nowa przestrzeń nazw pozwala oddzielić na przykład zespół lub środowisko.
kubectl create namespace team-aPraca w przestrzeni nazw
Wskaż przestrzeń nazw dla pojedynczego polecenia za pomocą -n albo ustaw domyślną przestrzeń nazw w kontekście, aby nie powtarzać flagi.
kubectl get pods -n team-aPrzestrzenie nazw nie zapewniają pełnej izolacji
Przestrzenie nazw ograniczają zakres nazw oraz umożliwiają stosowanie limitów i RBAC, ale same nie izolują ruchu sieciowego — do tego potrzebne są NetworkPolicies.
Czym są etykiety?
Etykiety to pary klucz/wartość dołączone do obiektów. Przekazują informacje istotne dla użytkowników — na przykład app: web lub env: prod — i umożliwiają grupowanie.
metadata:
labels:
app: web
env: prodDodawanie etykiet za pomocą kubectl
Etykietę można dodać do istniejącego obiektu bezpośrednio, bez jego ponownego tworzenia.
kubectl label pod nginx tier=frontendWybieranie według etykiety
Wyszukuj obiekty według etykiety za pomocą -l. Dzięki temu można wykonywać operacje na całych grupach naraz.
kubectl get pods -l app=web,env=prodSelektory łączą elementy
Etykiety nie służą tylko ludziom: obiekty Service i Deployment używają selektorów etykiet, aby znajdować zarządzane przez siebie Pody. To luźne powiązanie jest fundamentem Kubernetes.
selector:
matchLabels:
app: webAdnotacje a etykiety
Adnotacje również przechowują dane w formie klucz/wartość, ale służą do przechowywania metadanych nieidentyfikujących obiektu (informacji o kompilacji, wskazówek dla narzędzi) i nie są używane przez selektory.
Szybkie sprawdzenie
Jaka jest różnica między etykietami a przestrzeniami nazw?
Podsumowanie
Można już utrzymywać porządek w klastrze:
- Przestrzenie nazw ograniczają zakres nazw i umożliwiają stosowanie limitów oraz RBAC; można wskazywać je za pomocą
-n - Etykiety to znaczniki w formie klucz/wartość; można wyszukiwać je za pomocą
-l - Selektory łączą obiekty Service i Deployment z Podami
- Adnotacje przechowują metadane nieidentyfikujące obiektu
Te podstawowe mechanizmy sprawdzają się zarówno w przypadku jednej aplikacji, jak i zajętego klastra obsługującego wiele zespołów.
Często zadawane pytania
Czy lekcja „Namespaces i etykiety do organizacji” jest bezpłatna?
Tak — pełny tekst „Namespaces i etykiety do organizacji” 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 „Namespaces i etykiety do organizacji”?
Organizuj zasoby klastra za pomocą namespaces zapewniających izolację oraz etykiet i selektorów służących do grupowania i wyszukiwania obiektó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 4 z 4.
Ile czasu zajmuje lekcja „Namespaces i etykiety do organizacji”?
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
- Architektura Kubernetes
- Pody: najmniejsze jednostki
- Najważniejsze polecenia kubectl
- Namespaces i etykiety do organizacji