Kubernetes- ის არქიტექტურის გაგება

მოდით გავიგოთ Kubernetes- ის არქიტექტურა.


მე ვფიქრობ, რომ თქვენ გაქვთ ძირითადი გაგება Kubernetes. თუ არა, შეამოწმეთ შემდეგი შესავალი და სამონტაჟო სტატიები.

Kubernetes შესავალი დამწყებთათვის

როგორ დავაყენოთ Kubernetes Ubuntu 18-ზე?

კუბერნეტი მიჰყვება მასტერ-მონების არქიტექტურას. კუბერნეცის არქიტექტურას აქვს სამაგისტრო კვანძი და მუშა კვანძები. ა – ს ოთხი კომპონენტია სამაგისტრო კვანძი.

  • Kube API სერვერი
  • კონტროლერი
  • გრაფიკი
  • და ა.შ.

Და მუშა კვანძი აქვს სამი კომპონენტი.

  • კუბელი
  • კუბ-პროქსი
  • კონტეინერის გაშვების დრო

ასე გამოიყურება კუბერნეტის არქიტექტურა:

კუბერნეს არქიტექტურა

ნება მიბოძეთ გითხრათ მასტერ-კვანძისა და მუშა კვანძების კომპონენტების შესახებ.

სამაგისტრო კვანძი

მასტერ კვანძი მართავს კუბერნეცის კლასტერს და ეს არის შესასვლელი წერტილი ყველა ადმინისტრაციული დავალებისა. მასტერ კვანძზე შეგიძლიათ ისაუბროთ CLI, GUI ან API. ხარვეზის შემწყნარებლობის მისაღწევად, კლასტერში შეიძლება ერთზე მეტი სამაგისტრო კვანძი იყოს. როდესაც ჩვენ გვაქვს ერთზე მეტი სამაგისტრო კვანძი, იქ იქნება მაღალი ხელმისაწვდომობის რეჟიმი და ერთი ლიდერი ასრულებს ყველა ოპერაციას. ყველა სხვა მასტერ-კვანძი იქნებოდა ამ ლიდერის სამაგისტრო კვანძის მიმდევრები.

ასევე, კასეტური მდგომარეობის მართვის მიზნით, კუბერნეტი იყენებს etc.d. ყველა მასტერ კვანძი უკავშირდება etc.d- ს, რომელიც არის განაწილებული საკვანძო მნიშვნელობის მაღაზია.

kubernetes მასტერ კვანძი

ნება მომეცით აგიხსნათ ყველა ეს კომპონენტი სათითაოდ.

API სერვერი

API სერვერი ასრულებს ყველა ადმინისტრაციულ დავალებას მასტერ კვანძზე. მომხმარებელი დანარჩენ ბრძანებებს აგზავნის API სერვერზე, რომელიც შემდეგ ასრულებს თხოვნებს, შემდეგ ამუშავებს და ასრულებს მათ. etc.d ინახავს კლასტერის შედეგად არსებულ მდგომარეობას, როგორც განაწილებულ საკვანძო მნიშვნელობის მაღაზიას.

გრაფიკი

ამის შემდეგ, ჩვენ გვაქვს გრაფიკი. როგორც სახელი გვთავაზობს, გრაფიკის შემდგენი სამუშაოებს სხვადასხვა სამუშაო კვანძთან მიუთითებს. მას აქვს რესურსის გამოყენების ინფორმაცია თითოეული მუშა კვანძისთვის. გრაფიკი ასევე ითვალისწინებს მომსახურების მოთხოვნების ხარისხს, მონაცემთა ლოკალიზაციას და სხვა უამრავ ასეთ პარამეტრს. შემდეგ გრაფიკის გრაფიკი გრაფიკს უწევს სამუშაოს და მომსახურების თვალსაზრისით.

კონტროლერის მენეჯერი

კუბერნეზის კლასტერის მდგომარეობის მარეგულირებელი უწყვეტი საკონტროლო მარყუჟების მართვა ხდება მენეჯმენტის მენეჯერის მიერ. ახლა თითოეულმა ამ მაკონტროლებელი მარყუჟმა იცის ობიექტის სასურველი მდგომარეობის შესახებ, რომელსაც ის მართავს და შემდეგ მათ მიმდინარე მდგომარეობას API სერვერების საშუალებით უყურებენ..

საკონტროლო მარყუჟში, თუ სასურველი სახელმწიფო არ აკმაყოფილებს ობიექტის ამჟამინდელ მდგომარეობას, მაშინ მაკონტროლებელი ნაბიჯების გადადგმა ხდება საკონტროლო მარყუჟის საშუალებით, რომ არსებული მდგომარეობა იგივე მოხდეს, როგორც სასურველი სახელმწიფო. ამრიგად, კონტროლერის მენეჯერი დარწმუნებულია, რომ თქვენი ამჟამინდელი მდგომარეობა იგივეა, რაც სასურველი სახელმწიფო.

და ა.შ.

Etc.d არის განაწილებული საკვანძო მნიშვნელობის მაღაზია, რომელიც გამოიყენება კასეტური მდგომარეობის შესანახად. ასე რომ, ან ეს უნდა იყოს Kubernetes– ის ოსტატის ნაწილი, ან შეგიძლიათ მისი გარეგნული კონფიგურაციაც. etcd იწერება goLang– ში და იგი ემყარება მას ჯოხი კონსენსუსი ალგორითმი.

ჯოხი საშუალებას აძლევს მანქანების შეგროვებას იმუშაოს როგორც თანმიმდევრული ჯგუფი, რომელსაც შეუძლია გადარჩეს მისი ზოგიერთი წევრის წარუმატებლობები. მაშინაც კი, თუ ზოგიერთი წევრი ვერ მუშაობს, ამ ალგორითმს მაინც შეუძლია მუშაობა ნებისმიერ მოცემულ დროს. ჯგუფში ერთი კვანძი იქნება ოსტატი, ხოლო დანარჩენი მათგანი მიმდევრები იქნებიან.

აქ მხოლოდ ერთი ოსტატი შეიძლება იყოს და ყველა სხვა ოსტატმა უნდა დაიცვას ეს ოსტატი. კასეტური მდგომარეობის შესანახად, etc.d ასევე გამოიყენება კონფიგურაციის დეტალების შესანახად, როგორიცაა ქვე-ქსელები და კონფიგურაციის რუქები..

მუშა კვანძი

სამუშაო კვანძი არის ვირტუალური ან ფიზიკური სერვერი, რომელიც ასრულებს პროგრამებს და აკონტროლებს მასტერ კვანძს. ტრიბები დაგეგმილია სამუშაო კვანძებზე, რომლებსაც აქვთ საჭირო ხელსაწყოები მათ გასაშვებად და დასაკავშირებლად. პოდები სხვა არაფერია, თუ არა კონტეინერების კოლექცია.

და გარე სამყაროდან აპლიკაციებზე წვდომისთვის, თქვენ უნდა დაუკავშირდეთ მუშა კვანძებს და არა მასტერ კვანძებს.

kubernetes მუშა კვანძი

მოდით განვიხილოთ სამუშაო კვანძის კომპონენტები.

კონტეინერი Runtime

კონტეინერის გაშვების დრო ძირითადად გამოიყენება მუშა-კვანძზე უწყვეტი სასიცოცხლო ციკლის მართვისა და მართვისთვის. კონტეინერის მოქმედების რამდენიმე მაგალითი, რაც შემიძლია მოგაწოდოთ არის კონტეინერები rkt, lxc და ა.შ., ხშირად შეინიშნება, რომ docker ასევე მოიხსენიება, როგორც კონტეინერის გაშვების დრო, მაგრამ უფრო ზუსტად რომ გითხრათ, ნება მიბოძეთ გითხრათ, რომ docker არის პლატფორმა, რომელიც იყენებს კონტეინერებს. როგორც კონტეინერის გაშვების დრო.

კუბელეტი

Kubelet ძირითადად არის აგენტი, რომელიც გადის თითოეულ მუშა კვანძზე და კომუნიკაბელურია მასტერ კვანძთან. ასე რომ, თუ თქვენ გაქვთ ათი მუშა კვანძი, მაშინ kubelet გადის თითოეულ მუშა კვანძზე. იგი ღებულობს pod- ს განსაზღვრებას სხვადასხვა გზით და აწარმოებს კონტეინერებს, რომლებიც დაკავშირებულია ამ პორტთან. ის ასევე დარწმუნებულია, რომ კონტეინერები, რომლებიც ბოძების ნაწილია, ყოველთვის ჯანმრთელია.

Kubelet აკავშირებს კონტეინერის გაშვებას gRPC ჩარჩოს გამოყენებით. კუბელი აკავშირებს კონტეინერის გაშვების ინტერფეისს (CRI) კონტეინერებისა და გამოსახულების ოპერაციების შესასრულებლად. გამოსახულების სერვისი პასუხისმგებელია სურათთან დაკავშირებულ ყველა ოპერაციასთან, ხოლო გაშვების სერვისი პასუხისმგებელია ყველა ტუმბოსა და კონტეინერთან დაკავშირებულ ყველა ოპერაციაზე. ამ ორ სერვისს ორი განსხვავებული ოპერაცია აქვს შესასრულებელი.

ნება მიბოძეთ გითხრათ რაიმე საინტერესო, კონტეინერის დროით, ძნელად კოდიფიცირებული იყო კუბერნეთში, მაგრამ CRI– ს განვითარებით, ახლა Kubernetes– ს შეუძლია გამოიყენოს სხვადასხვა კონტეინერის გამტარებლები, როდესაც არ არის საჭირო გადაკეთება. ასე რომ, ნებისმიერი კონტეინერის გაშვების დროს, რომელიც ახორციელებს CRI- ს, Kubernetes– ს შეუძლია გამოიყენოს ტომრები, კონტეინერები და კონტეინერის სურათები. Docker shim და CRI კონტეინერები CRI shim- ის ორი მაგალითია. Docker shim– ით კონტეინერები იქმნება სამუშაო კვანძებზე დამონტაჟებული docker– ის გამოყენებით და შემდეგ შინაგან დოკერი იყენებს კონტეინერს კონტეინერების შესაქმნელად და მართვისთვის

კუბ-პროქსი

კუბ-პროქსი მუშაობს თითოეულ მუშა კვანძზე, როგორც ქსელის მარიონეტული პირი. ის უსმენს API სერვერს თითოეული მომსახურების წერტილის შექმნის ან წაშლისთვის. თითოეული მომსახურების წერტილისთვის, კუბ-პროქსი ადგენს მარშრუტებს ისე, რომ მან მიაღწიოს მას.

დასკვნა

იმედი მაქვს, ეს დაგეხმარებათ კუბერნეცის არქიტექტურის უკეთესად გაგებაში. Kubernetes- ის უნარები ყოველთვის მოთხოვნადია, და თუ თქვენ ეძებთ სწავლას კარიერის მშენებლობისთვის, მაშინ შეამოწმეთ ეს Udemy კურსი.

ტეგები:

  • დოკერი

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map