Zurück zur Übersicht

Begriff

Namespace (Kubernetes)

Kubernetes Architecture S1
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein Kubernetes Cluster ist groß und teuer (100 CPUs). Du hast 3 Teams: Team A, Team B und Team C. Du willst nicht 3 Cluster kaufen. Du nutzt Namespaces. Das ist wie WGs in einem großen Haus. Team A bekommt den Namespace team-a. Team B bekommt team-b. Wenn Team A einen Pod "webserver" nennt, und Team B auch, dann kollidieren sie nicht. team-a/webserver ist ein anderer Name als team-b/webserver. Dank Namespaces können viele Teams friedlich auf demselben Cluster arbeiten ("Multi-Tenancy").

Merksatz: Ein logischer Bereich innerhalb eines Kubernetes-Clusters zur Trennung von Ressourcen, Zugriffrechten (RBAC) und Quotas verschiedener Teams oder Projekte.


Quick-Check

  1. Sind Nodes im Namespace?
    Nein! Nodes (kubectl get nodes) sind globale Ressourcen. Ein Node gehört dem Cluster, nicht einem Team. Pods aus ns-a und ns-b können wild gemischt auf demselben Node laufen (es sei denn, man nutzt Taints/Tolerations).
  2. DNS-Namen?
    Service-Namen sind: service-name.namespace.svc.cluster.local. Wenn ich im gleichen Namespace bin, reicht service-name. Wenn ich in einen anderen will, brauche ich den FQDN.
  3. Hierarchische Namespaces?
    Gibt es nativ nicht (alles ist flach). Aber es gibt das HNC (Hierarchical Namespace Controller) Projekt, um "Parent" und "Child" Namespaces zu bauen (für Abteilungen -> Teams).