Junior
Mi az a névtér?
sobes.tech MI
Válasz az MI-től
A Kubernetes-ben a névtér (namespace) egy virtuális csoportosítási mechanizmus objektumok (podok, szolgáltatások, telepítések stb.) számára ugyanazon klaszteren belül. Logikus erőforrás elkülönítést, izolációt, hozzáférés-ellenőrzést biztosít, és megakadályozza a névütközéseket.
Fő jellemzők:
- Izoláció: Egy névtérben lévő objektumok nem láthatók közvetlenül egy másikban.
- Hozzáférés-kezelés: RBAC politikák alkalmazhatók névterekre, korlátozva a felhasználók vagy csoportok hozzáférését bizonyos erőforrásokhoz.
- Skálázhatóság: Lehetővé teszi egy klaszter szervezését sok csapattal vagy alkalmazással anélkül, hogy átfedések lennének.
- Névütközések megelőzése: Különböző névterekben azonos nevű objektumok lehetnek.
Használati példák:
- Környezetek elkülönítése (fejlesztés, staging, termelés).
- Csapatok vagy projektek szerinti elkülönítés.
- Erőforrások kezelése különböző alkalmazások számára.
Minden Kubernetes klaszternek vannak előre definiált névterei:
default: Alapértelmezett névtér a nem kifejezetten megadott objektumok számára.kube-system: A Kubernetes által létrehozott rendszerobjektumok számára.kube-public: Minden felhasználó számára látható erőforrások számára.kube-node-lease: Objektumokat tartalmaz Lease-ként a csomópontok elérhetőségének nyomon követésére.
# Névteret létrehozó példa
apiVersion: v1
kind: Namespace
metadata:
name: my-app
# Kontextus váltása a névtérre
kubectl config set-context --current --namespace=my-app
# Objektumok megtekintése egy adott névtérben
kubectl get pods -n my-app
# Minden névtér megtekintése
kubectl get namespaces