Namespace och labels för organisering
Organisera klusterresurser med namespaces för isolering samt labels och selectors för att gruppera och söka bland objekt.
Namespace och labels för organisering är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Varför organisera?
Ett verkligt kluster kör många appar från många team. Namespaces och labels är inbyggda Kubernetes-verktyg för att hålla alla dessa objekt ordnade och sökbara.
Vad är ett namespace?
Ett namespace är ett virtuellt kluster i ert kluster. Resursnamn måste vara unika inom ett namespace, men samma namn kan återanvändas i olika namespaces.
Standard-namespaces
Varje kluster levereras med några standardnamnrymder: default (där era objekt hamnar om inget annat anges), kube-system (klusterkomponenter) och kube-public.
kubectl get namespacesSkapa ett namespace
Skapa ett nytt namespace för att till exempel separera ett team eller en miljö.
kubectl create namespace team-aArbeta i ett namespace
Ange ett namespace per kommando med -n, eller ange ett standardnamespace för kontexten så att flaggan inte behöver upprepas.
kubectl get pods -n team-aNamespace ger inte fullständig isolering
Namespace avgränsar namn och möjliggör kvoter och RBAC, men isolerar inte nätverkstrafik på egen hand – för det behöver Ni lägga till NetworkPolicies.
Vad är labels?
Labels är nyckel/värde-par som kopplas till objekt. De förmedlar betydelse för användare – till exempel app: web eller env: prod – och används för gruppering.
metadata:
labels:
app: web
env: prodLägga till labels med kubectl
Koppla en label till ett befintligt objekt direkt.
kubectl label pod nginx tier=frontendVälja med labels
Fråga efter objekt med en label med -l. På så sätt kan Ni agera på hela grupper på en gång.
kubectl get pods -l app=web,env=prodSelectors kopplar ihop saker
Labels är inte bara till för människor: Services och Deployments använder label selectors för att hitta de Pods som de hanterar. Denna lösa koppling är central i Kubernetes.
selector:
matchLabels:
app: webAnnotations kontra labels
Annotations lagrar också nyckel/värde-data, men för metadata som inte identifierar objektet (bygginformation och tips till verktyg), och används inte av selectors.
Snabbtest
Vad är skillnaden mellan labels och namespace?
Sammanfattning
Nu kan Ni hålla ett kluster organiserat:
- Namespace avgränsar namn och möjliggör kvoter/RBAC; ange dem med
-n - Labels är taggar i nyckel/värde-format; sök med
-l - Selectors kopplar Services och Deployments till Pods
- Annotations innehåller metadata som inte identifierar objektet
Dessa grundkomponenter kan skalas från en enda app till ett aktivt kluster med många team.
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Namespace och labels för organisering” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Namespace och labels för organisering”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Namespace och labels för organisering”?
Organisera klusterresurser med namespaces för isolering samt labels och selectors för att gruppera och söka bland objekt. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Namespace och labels för organisering”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Kubernetes-arkitektur
- Pods: de minsta enheterna
- Grunderna i kubectl-kommandon
- Namespace och labels för organisering