Sobes.tech
Junior

Ի՞նչ է անունների տարածքը։

sobes.tech AI

Պատասխան AI-ից

Kubernetes-ում անունային տարածք (namespace)-ը մեխանիզմ է՝ վիրտուալ խմբավորելու օբյեկտները (pods, ծառայություններ, տեղադրումներ և այլն) նույն կլաստերի ներսում: Այն ապահովում է ռեսուրսների տրամաբանական բաժանում, մեկուսացում, մուտքի վերահսկում և կանխում է անունների բախումները:

Հիմնական հատկություններ՝

  • Մեկուսացում: Մի անունային տարածքի օբյեկտները անմիջապես չեն տեսանելի մյուսում:
  • Մուտքի կառավարման: RBAC քաղաքականությունները կարող են կիրառվել անունային տարածքներին՝ սահմանափակելով օգտվողների կամ խմբերի մուտքը կոնկրետ ռեսուրսներին:
  • Մասշտաբայնություն: Հնարավոր է կազմակերպել կլաստեր՝ շատ թիմերով կամ հավելվածներով՝ առանց բախումների:
  • Բախումների կանխում: Տարբեր անունային տարածքներում օբյեկտները կարող են ունենալ նույն անունները:

Օգտագործման օրինակներ՝

  • միջավայրերի բաժանում (զարգացում, staging, արտադրություն):
  • թիմերի կամ նախագծերի բաժանում:
  • տարբեր հավելվածների ռեսուրսների կառավարում:

Յուրաքանչյուր Kubernetes կլաստ ունի նախապես սահմանված անունային տարածքներ՝

  • default: Դեֆոլտ անունային տարածք՝ այն օբյեկտների համար, որոնք հստակ նշված չեն:
  • kube-system: Սիստեմային օբյեկտների համար՝ որոնք ստեղծում է Kubernetes:
  • kube-public: Օբյեկտների համար, որոնք տեսանելի են բոլոր օգտվողներին:
  • kube-node-lease: Օբյեկտներ՝ Lease-ներ՝ հանգույցների հասանելիությունը հետևելու համար:
# Նմուշ՝ անունային տարածք ստեղծելու համար
apiVersion: v1
kind: Namespace
metadata:
  name: my-app
# Կոնտեքստի փոփոխություն՝ անունային տարածք
kubectl config set-context --current --namespace=my-app

# Օբյեկտների ցուցադրում կոնկրետ անունային տարածքում
kubectl get pods -n my-app

# Բոլոր անունային տարածքների ցուցադրում
kubectl get namespaces