Sobes.tech
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