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