Sobes.tech
Junior

Čo je to názvový priestor?

sobes.tech AI

Odpoveď od AI

Miestnosť názvov (namespace) v Kubernetes je mechanizmus virtuálneho skupínovania objektov (podov, služieb, nasadení atď.) v rámci jedného klastru. Zabezpečuje logické oddelenie zdrojov, izoláciu, kontrolu prístupu a zabraňuje konfliktom názvov.

Hlavné vlastnosti:

  • Izolácia: Objekty v jednom mieste názvov nie sú priamo viditeľné v inom.
  • Správa prístupu: Politiky RBAC môžu byť aplikované na miesta názvov, obmedzujúc prístup používateľov alebo skupín k špecifickým zdrojom.
  • Škálovateľnosť: Umožňuje organizovať klaster s veľkým počtom tímov alebo aplikácií bez prekrývania.
  • Prevencia konfliktov: Objekty v rôznych miestach názvov môžu mať rovnaké názvy.

Príklady použitia:

  • Oddelenie prostredí (vývoj, staging, produkcia).
  • Oddelenie podľa tímov alebo projektov.
  • Správa zdrojov pre rôzne aplikácie.

Každý Kubernetes klaster má preddefinované miesta názvov:

  • default: Predvolené miesto názvov pre objekty, ktoré nie sú explicitne uvedené.
  • kube-system: Pre systémové objekty vytvorené Kubernetes.
  • kube-public: Pre zdroje viditeľné všetkým používateľom.
  • kube-node-lease: Obsahuje Lease objekty na sledovanie dostupnosti uzlov.
# Príklad vytvorenia miesta názvov
apiVersion: v1
kind: Namespace
metadata:
  name: my-app
# Prechod na kontext miesta názvov
kubectl config set-context --current --namespace=my-app

# Zobrazenie objektov v konkrétnom mieste názvov
kubectl get pods -n my-app

# Zobrazenie všetkých miest názvov
kubectl get namespaces