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