KlusterKit

KlusterKit: Kubernetes yerləşdirmələrini sadələşdirmək və fiziki cəhətdən təcrid olunmuş daxili mühitlərdə işləmək üçün açıq mənbə alət dəsti

KlusterKit

Bu gün biz Platform9-un GitHub-da Apache v2.0 lisenziyası altında üç alətdən ibarət dəsti olan açıq mənbə Klusterkit olduğunu elan etməkdən məmnunuq.

Müştərilərimiz proqram təminatını çox vaxt İnternetə qoşulmayan özəl məlumat mərkəzlərində (təhlükəsizlik və ya digər səbəblərdən) istifadə edirlər. Bu böyük şirkətlər Kubernetes-dən faydalanmaq və tətbiqlərini modernləşdirmək və eyni zamanda onları tez-tez xarici dünyaya bağlı olmayan müxtəlif məlumat mərkəzlərində yaymaq istəyirlər. Fiziki cəhətdən təcrid olunmuş mühitlərdə K8s klasterlərinin təmin edilməsini və idarə olunmasını asanlaşdıran Klusterkit bura daxil olur.

Klusterkit-ə Kubernetes istehsal klasterinin həyat dövrünü idarə etmək üçün birlikdə və ya ayrıca istifadə edilə bilən üç müstəqil alət daxildir:

  1. etcdadm, sadələşdirilmiş və s. klasterin idarə edilməsi üçün CLI.
  2. nodeadm, kubeadm-i genişləndirən və kubeadm-in ehtiyac duyduğu asılılıqları yerləşdirən node administrasiyası üçün CLI.
  3. cctl, Kubernetes icmasından Cluster API-ni qəbul edən və yüksək əlçatan Kubernetes klasterlərini yerlərdə və hətta fiziki cəhətdən təcrid olunmuş mühitlərdə problemsiz şəkildə çatdırmaq və saxlamaq üçün nodeadm və etcdadm-dan istifadə edən klasterin həyat dövrü idarəetmə alətidir.

Bu üç vasitə birlikdə aşağıdakı vəzifələri yerinə yetirir:

  • Cluster API vasitəsilə fiziki cəhətdən təcrid olunmuş yerli mühitlərdə yüksək əlçatan etcd klasterini və Kubernetes tablosunu asanlıqla təmin edin və idarə edin.
  • etcd ehtiyat nüsxəsindən istifadə edərək nasazlıqdan sonra klaster idarəetmə panelinin bərpası.
  • Kubernetləri fiziki cəhətdən təcrid olunmuş mühitlərə çatdırmaq üçün lazım olan bütün artefaktların qablaşdırılması.

Klusterkit xüsusiyyətləri

  • Multi-master dəstəyi (HA klaster K8s).
  • Təhlükəsiz etcd klasterlərinin çatdırılması və idarə edilməsi.
  • Fiziki cəhətdən təcrid olunmuş mühitlərdə işləmək.
  • Yayılan təkmilləşdirmələri və geri dönmələri dəstəkləyir.
  • Arxa uç üçün CNI kimi flanel (vxlan); Digər CNI-ləri dəstəkləmək planları var.
  • Kvorum itirildikdən sonra etcd klasterlərinin ehtiyat nüsxəsi və bərpası.
  • İdarəetmə panelini yaddaş və CPU vaxtının tükənməsindən qoruyur.

Klusterkit Həll Memarlığı

KlusterKit

Səhvlərə dözümlülük və sadəlik üçün Klusterkit Kubernetes klaster metadatasını saxlamaq üçün tək cctl-state.yaml faylından istifadə edir. Cctl CLI vasitəsilə siz bu vəziyyət faylı olan istənilən maşında Kubernetes klasterinin həyat dövrünü idarə edə bilərsiniz. Bu, operatorun noutbuku və ya Kubernetes klasterinin bir hissəsi olan hər hansı digər kompüter ola bilər.

Cctl klasterlərdə CRUD əməliyyatları üçün kitabxana kimi yuxarıdan klaster-api interfeysini həyata keçirir və çağırır. O istifadə edir ssh-provayderi, Platform9-dan açıq mənbəli çılpaq metal klaster-api provayderi, o da öz növbəsində klasterdə əməliyyatları yerinə yetirmək üçün etcdadm və nodeadm-i çağırır.

Klusterkit və onun komponentlərindən necə istifadə etmək olar:

1 – Üç alətdən hər hansı birini go get əmri ilə asanlıqla toplamaq olar:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

go get -u github.com/kubernetes-sigs/etcdadm

2 – Bu icra sənədləri daha sonra qablaşdırıla və yüksək əlçatan Kubernetes klasterinin işləməli olduğu hədəf maşınlara kopyalana bilər. nodeadm və etcdadm fayllarını versiya qovluqlarına yerləşdirin:

cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//

cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//

3 – Fiziki cəhətdən təcrid olunmuş mühitdə Kubernetes klasterini yerli olaraq təşkil etmək lazımdırsa, nodeadm və etcdadm yükləmə əmrindən istifadə edərək lazımi asılılıqları İnternetə çıxışı olan kompüterə əvvəlcədən asanlıqla yükləmək olar. Sonra yüklənmiş elementlər (yəni, sistemd üçün kubelet və kubelet vahid faylı, CNI icra edilə bilən fayllar, kubeadm faylı, Kubernetes daxil olmaqla bütün konteyner şəkilləri, saxlanılan şəkil və sistem faylı, və s. konteyner şəkli və müvafiq konfiqurasiya faylları) fiziki olaraq təcrid olunmuş hostlara asanlıqla kopyalana bilər. cctl, nodeadm və etcdadm ilə. (Ətraflı məlumatlara baxın wiki).

4 – Hər şey yerində olduqdan sonra bir neçə əmrlə ilk Kubernetes klasterini yarada bilərsiniz:

– Əvvəlcə klaster üçün etimadnamələr yaradın.

$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa

– Sonra klaster obyekti yaradın. – help dəstəklənən seçimlərin siyahısını təqdim edir.

$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24

– Nəhayət, klasterdə ilk maşını yaradın.

$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role master

Ətraflı sənədləri burada oxuyun Github.

Mənbə: www.habr.com

Добавить комментарий