Kubernetes(შემოკლებით K8s) არის ღია კოდის სისტემა, რომელიც გამოიყენება კომპიუტერულ ქსელში კონტეინერირებული აპლიკაციების მართვისა და განსათავსებლად. Kubernetes გახდა პოპულარული და მძლავრი კონტეინერების მართვის პლატფორმა, თავდაპირველად შემუშავებული Google-ის მიერ და ამჟამად შენარჩუნებულია დეველოპერების დიდი საზოგადოების მიერ.
Kubernetes მოიცავს ძირითადი ფუნქციები
-
კონტეინერის მენეჯმენტი : Kubernetes საშუალებას გაძლევთ შეფუთოთ აპლიკაციები და მათი რესურსები containers. Containers უზრუნველყოს მსუბუქი გარემო და უზრუნველყოს აპლიკაციების გაშვება ნებისმიერ სისტემაზე.
-
ავტომატური განლაგება : Kubernetes საშუალებას აძლევს ავტომატიზირებულ განლაგებას და აპლიკაციებისა და სერვისების მარტივ მასშტაბურობას. თქვენ შეგიძლიათ მიუთითოთ რესურსების მოთხოვნები, ინსტანციების რაოდენობა და Kubernetes ავტომატურად შეინარჩუნოთ სასურველი მდგომარეობა.
-
რესურსების მენეჯმენტი : K8s მართავს სერვერის რესურსებს, როგორიცაა CPU, მეხსიერება და საცავი, რათა უზრუნველყოს, რომ აპლიკაციები არ მოიხმარენ ზედმეტ რესურსებს და არ ერევიან ერთმანეთს.
-
ავტომატური აღდგენა და შეცდომის ტოლერანტობა : Kubernetes ეხმარება აპლიკაციებს ავტომატურად აღდგეს წარუმატებლობისგან. მას შეუძლია ავტომატურად დააბრუნოს აპლიკაციის წინა ვერსიაზე, თუ ახალ ვერსიას პრობლემები შეექმნა.
-
Load Balancing და Traffic Distribution : Kubernetes უზრუნველყოფს მექანიზმებს თანაბრად ანაწილებს ტრაფიკს აპლიკაციების ინსტანციებს შორის სხვადასხვა სერვერზე nodes. ეს აუმჯობესებს შესრულებას და უზრუნველყოფს მასშტაბურობას.
-
კონფიგურაცია და საიდუმლოების მართვა : Kubernetes საშუალებას გაძლევთ უსაფრთხოდ მართოთ აპლიკაციის კონფიგურაცია და საიდუმლოებები ისეთი ფუნქციების გამოყენებით, როგორიცაა K8s Secrets და ConfigMaps.
მოქმედი მექანიზმები Kubernetes მოიცავს
-
Nodes: სერვერები ან ცალკეული კომპიუტერები ქსელში მოიხსენიება როგორც " nodes." nodes არსებობს ორი ტიპი Kubernetes: Master Node და Worker Node. Master Node მართავს და აკონტროლებს მთელ სისტემას, ხოლო Worker Node ასრულებს containers და აპლიკაციებს.
-
Pods: Pod არის ყველაზე პატარა განლაგებული ერთეული საქართველოში Kubernetes. პოდი შეიძლება შეიცავდეს ერთს ან მრავალჯერადს containers, მაგრამ ისინი იზიარებენ ერთსა და იმავე ქსელურ მეხსიერებას და სიცოცხლის ციკლს. ეს აადვილებს კომუნიკაციას containers პოდის შიგნით.
-
Controller: კონტროლერები არის კომპონენტები, რომლებიც მართავენ და ინარჩუნებენ ასლებს pods. კონტროლერების ტიპები მოიცავს ReplicaSet(სწორი რაოდენობის უზრუნველყოფა pods და საჭიროების შემთხვევაში გადატვირთვა), Deployment(აპლიკაციების ვერსიების და განახლებების მართვა) და StatefulSet(statful აპლიკაციების განლაგებისთვის).
-
Service: სერვისები არის მექანიზმი დატვირთვის დაბალანსებისა და ტრაფიკის განაწილებისთვის pods. სერვისები აადვილებს აპლიკაციებს წვდომას pods მათი კონკრეტული მდებარეობის ცოდნის გარეშე.
-
Kubelet და Kube Proxy: Kubelet არის კომპონენტი, რომელიც მუშაობს თითოეულ მუშა კვანძზე, რომელიც პასუხისმგებელია pods ამ კვანძის მართვაზე. Kube Proxy არის ქსელის პროქსი pods.
შედეგად, Kubernetes ავტომატიზირებს კონტეინერირებული აპლიკაციების განლაგებას და მართვას, ამცირებს კომპლექსური სისტემების შესანარჩუნებლად საჭირო დროსა და ძალისხმევას.