Kubernetes üçün GUI-lərə ümumi baxış

Kubernetes üçün GUI-lərə ümumi baxış

Sistemlə tam hüquqlu işləmək üçün əmr satırı yardım proqramları haqqında bilik vacibdir: Kubernetes vəziyyətində bu kubectl. Digər tərəfdən, yaxşı dizayn edilmiş, düşünülmüş qrafik interfeyslər çıxış edə bilərоadi tapşırıqların çoxu və sistemlərin işləməsi üçün əlavə imkanlar açır.

Keçən il bir tərcümə nəşr etdirdik veb UI-nin kiçik icmalı Kubernetes üçün veb interfeysinin elanı ilə üst-üstə düşür Kubernetes WebView. Həmin məqalənin müəllifi və yardım proqramının özü, Zalandodan Henning Jacobs, sadəcə olaraq yeni məhsulu “veb üçün kubectl” olaraq yerləşdirdi. O, texniki dəstək formatında qarşılıqlı əlaqə (məsələn, problemi veb-link ilə tez göstərmək) və insidentlərə cavab vermək, eyni zamanda bir çox klasterlərdə problemləri axtarmaq üçün istifadəçi üçün əlverişli imkanlara malik alət yaratmaq istəyirdi. Onun nəsli indiki dövrdə inkişaf edir (əsasən müəllifin özünün səyləri ilə).

Müxtəlif ölçülü bir çox Kubernetes klasterlərinə xidmət etdiyimiz üçün müştərilərimizə vizual alət təqdim etməkdə maraqlıyıq. Uyğun interfeys seçərkən aşağıdakı xüsusiyyətlər bizim üçün əsas idi:

  • istifadəçi hüquqlarının diferensiallaşdırılmasına dəstək (RBAC);
  • ad məkanı vəziyyətinin və standart Kubernetes primitivlərinin vizuallaşdırılması (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • pod daxilində komanda xəttinə giriş əldə etmək;
  • podların qeydlərinə baxmaq;
  • podların vəziyyətinə baxın (describe status);
  • qabıqların çıxarılması.

Digər funksiyalar, məsələn, istehlak edilmiş resurslara baxmaq (podlar/nəzarətçilər/adlar məkanları kontekstində), K8-lərin primitivlərinin yaradılması/redaktəsi iş prosesimizə uyğun deyil.

Biz nəzərdən keçirməyə standartımız olan klassik Kubernetes İdarə Paneli ilə başlayacağıq. Dünya hələ də dayanmadığından (bu o deməkdir ki, Kubernetes-in getdikcə daha çox yeni GUI-ləri var), biz də məqalənin sonundakı müqayisəli cədvəldə hər şeyi ümumiləşdirərək mövcud alternativləri haqqında danışacağıq.

NB: Baxışda biz artıq nəzərdən keçirilmiş həlləri təkrar etməyəcəyik Son məqalə, lakin tamlıq naminə ondan müvafiq variantlar (K8Dash, Octant, Kubernetes Web View) yekun cədvələ daxil edilmişdir.

1. Kubernetes İdarə Paneli

  • Sənədlər səhifəsi;
  • anbar (8000+ GitHub ulduzu);
  • Lisenziya: Apache 2.0;
  • Qısacası: “Kubernetes klasterləri üçün universal veb interfeysi. O, istifadəçilərə klasterdə işləyən proqramları idarə etməyə və problemləri həll etməyə, həmçinin klasterin özünü idarə etməyə imkan verir”.

Kubernetes üçün GUI-lərə ümumi baxış

Bu rəsmi sənədlərdə Kubernetes müəllifləri tərəfindən əhatə olunan ümumi məqsədli paneldir (Amma yerləşdirilə bilməz defolt). O, gündəlik əməliyyat ehtiyacları və klasterdəki proqramların sazlanması üçün nəzərdə tutulmuşdur. Evdə biz onu tərtibatçılara klasterə lazımi və kifayət qədər girişi təmin etməyə imkan verən tam hüquqlu yüngül vizual alət kimi istifadə edirik. Onun imkanları onların klasterdən istifadə prosesində yaranan bütün ehtiyaclarını əhatə edir (in Bu məqalə panelin bəzi xüsusiyyətlərini nümayiş etdirdik). Təxmin etdiyiniz kimi, bu o deməkdir ki, yuxarıda sadalanan bütün tələblərimizə cavab verir.

Kubernetes Dashboard-un əsas xüsusiyyətləri arasında:

  • Naviqasiya: K8-lərin əsas obyektlərinə ad boşluqları kontekstində baxın.
  • Administrator hüquqlarınız varsa, panel qovşaqları, ad boşluqlarını və Davamlı Həcmləri göstərir. Düyünlər üçün yaddaşın istifadəsi, prosessor, resurs bölgüsü, ölçülər, status, hadisələr və s.
  • Ad məkanında yerləşdirilmiş proqramları növlərinə (Yerləşdirmə, StatefulSet və s.), aralarındakı əlaqələrə (ReplicaSet, Horizontal Pod Autoscaler), ümumi və fərdiləşdirilmiş statistikaya və məlumatlara görə baxın.
  • Xidmətlərə və Girişlərə, həmçinin onların podlar və son nöqtələrlə əlaqələrinə baxın.
  • Fayl obyektlərinə və yaddaşlara baxın: Davamlı Həcm və Davamlı Həcm İddiası.
  • ConfigMap və Secretə baxın və redaktə edin.
  • Qeydlərə baxın.
  • Konteynerlərdə komanda xəttinə giriş.

Əhəmiyyətli bir çatışmazlıq (lakin bizim üçün deyil) çox klasterli iş üçün dəstəyin olmamasıdır. Layihə icma tərəfindən fəal şəkildə inkişaf etdirilir və Kubernetes API-nin yeni versiyalarının və spesifikasiyalarının buraxılması ilə müvafiq xüsusiyyətləri saxlayır: panelin ən son versiyası v2.0.1 22 may 2020 - Kubernetes 1.18 ilə uyğunluq sınaqdan keçirilib.

2.Obyektiv

  • Sayt;
  • Təqdimat;
  • anbar (~4800 GitHub ulduzu);
  • Lisenziya: MIT;
  • Qısacası: "Kubernetes IDE".

Kubernetes üçün GUI-lərə ümumi baxış

Layihə Kubernetes üçün tam inteqrasiya olunmuş inkişaf mühiti (IDE) kimi yerləşdirilib. Üstəlik, bir çox klaster və onlarda işləyən çoxlu sayda podlarla işləmək üçün optimallaşdırılmışdır (25 podda sınaqdan keçirilmişdir).

Lensin əsas xüsusiyyətləri/imkanları:

  • Klaster daxilində heç bir şeyin quraşdırılmasını tələb etməyən müstəqil proqram (daha doğrusu, bütün ölçüləri əldə etmək üçün Prometheus tələb olunacaq, lakin bunun üçün mövcud quraşdırma da istifadə edilə bilər). "Əsas" quraşdırma Linux, macOS və ya Windows ilə işləyən fərdi kompüterdə aparılır.
  • Çox klasterli idarəetmə (yüzlərlə klaster dəstəklənir).
  • Real vaxtda klasterin vəziyyətinin vizuallaşdırılması.
  • Daxili Prometey əsasında tarixə malik olan resurs istifadəsi qrafikləri və meylləri.
  • Konteynerlərin komanda xəttinə və klaster qovşaqlarına giriş.
  • Kubernetes RBAC üçün tam dəstək.

Cari buraxılış - 3.5.0 16 iyun 2020-ci il İlk olaraq Kontena tərəfindən yaradılmış, bu gün bütün əqli mülkiyyət xüsusi bir təşkilata verilmişdir Lakend Laboratoriyaları, "Kontenanın Açıq Mənbə proqram təminatı və məhsullarının saxlanması və mövcudluğuna" cavabdeh olan "buludda yerli həvəskarların və texnoloqların birliyi" adlanır.

Lens, GitHub-da Kubernetes üçün GUI kateqoriyasından ikinci ən populyar layihədir və yalnız Kubernets İdarə Panelinin özünü “itirir”. CLI* kateqoriyasına aid olmayan bütün digər Açıq Mənbə həlləri populyarlıq baxımından əhəmiyyətli dərəcədə aşağıdır.

* Baxışın bonus hissəsində K9-lara baxın.

3. Kubernetik

Kubernetes üçün GUI-lərə ümumi baxış

Bu fərdi kompüterdə quraşdırılmış xüsusi proqramdır (Linux, macOS, Windows dəstəklənir). Onun müəllifləri əmr satırı yardım proqramının tam dəyişdirilməsini vəd edir və onunla birlikdə - əmrləri xatırlamağa ehtiyac yoxdur və hətta sürətin on qat artması.

Alətin maraqlı xüsusiyyətlərindən biri Helm diaqramları üçün daxili dəstəkdir və çatışmazlıqlardan biri tətbiq performans göstəricilərinin olmamasıdır.

Kubernetic-in əsas xüsusiyyətləri:

  • Klaster statusunun rahat nümayişi. Bütün əlaqəli klaster obyektlərinə və onların asılılıqlarına baxmaq üçün bir ekran; bütün obyektlər üçün qırmızı/yaşıl hazırlıq vəziyyəti; real vaxt status yeniləmələri ilə klaster statusuna baxmaq rejimi.
  • Tətbiqi silmək və ölçmək üçün sürətli hərəkət düymələri.
  • Çox klaster əməliyyatı üçün dəstək.
  • Ad boşluqları ilə sadə iş.
  • Helm qrafikləri və Helm depoları üçün dəstək (özəl olanlar da daxil olmaqla). Veb interfeysində qrafiklərin quraşdırılması və idarə edilməsi.

Məhsulun cari dəyəri onun istənilən sayda ad sahəsi və klaster üçün bir şəxs tərəfindən istifadəsi üçün 30 avro məbləğində birdəfəlik ödənişdir.

4. Mübarək

  • Sayt;
  • Təqdimat;
  • anbar (~500 GitHub ulduzu);
  • Lisenziya: Apache 2.0
  • Qısacası: "Kubevious Kubernetes klasterlərini, tətbiq konfiqurasiyasını və statusa baxmağı təhlükəsiz və asan başa düşülən edir."

Kubernetes üçün GUI-lərə ümumi baxış

Layihənin ideyası klasterdə yerləşdirilmiş tətbiq konfiqurasiyalarını təhlil etmək və sazlamaq üçün nəzərdə tutulmuş alət yaratmaqdır. Müəlliflər daha çox ümumi şeyləri sonraya buraxaraq, ilk növbədə bu xüsusiyyətlərin həyata keçirilməsinə diqqət yetirdilər.

Kubevious-un əsas xüsusiyyətləri və funksiyaları:

  • Tətbiq mərkəzli şəkildə klaster vizuallaşdırılması: interfeysdəki əlaqəli obyektlər iyerarxiyada düzülərək qruplaşdırılır.
  • Konfiqurasiyalarda asılılıqların vizual nümayişi və onların dəyişməsinin şəlaləli nəticələri.
  • Klaster konfiqurasiya səhvlərinin göstərilməsi: etiketlərdən sui-istifadə, buraxılmış portlar və s. (Yeri gəlmişkən, bu xüsusiyyətlə maraqlanırsınızsa, diqqət yetirin Polarishansı haqqında onsuz da yazmışdım.)
  • Əvvəlki nöqtəyə əlavə olaraq, potensial təhlükəli konteynerlərin aşkarlanması mövcuddur, yəni. həddən artıq imtiyazlara malik olmaq (atributlar hostPID, hostNetwork, hostIPC, montaj docker.sock və s.).
  • Klaster üçün təkmil axtarış sistemi (yalnız obyektlərin adlarına görə deyil, həm də xassələrinə görə).
  • Gücün planlaşdırılması və resursların optimallaşdırılması üçün alətlər.
  • Quraşdırılmış "zaman maşını" (obyektlərin konfiqurasiyasında əvvəlki dəyişiklikləri görmək imkanı).
  • Rolların, Rol Bağlamalarının, Xidmət Hesablarının pivot bir-biri ilə əlaqəli cədvəli ilə RBAC idarəetməsi.
  • Yalnız bir klaster ilə işləyir.

Layihənin çox qısa bir tarixi var (ilk buraxılış 11 fevral 2020-ci ildə baş tutdu) və deyəsən, ya sabitləşmə, ya da inkişafda yavaşlama dövrü olub. Əgər əvvəlki versiyalar tez-tez buraxılırdısa, ən son buraxılış (v0.5 15 aprel 2020) ilkin inkişaf tempindən geri qaldı. Bu, yəqin ki, ianəçilərin sayının az olması ilə bağlıdır: deponun tarixində onlardan cəmi 4-ü var və bütün faktiki işləri bir nəfər görür.

5. Kubewise

  • Layihə səhifəsi;
  • Lisenziya: mülkiyyət (Açıq Mənbə olacaq);
  • Qısacası: "Kubernetes üçün sadə çox platformalı müştəri."

Kubernetes üçün GUI-lərə ümumi baxış

VMware-dən yeni məhsul, əvvəlcə daxili hakatonun bir hissəsi kimi yaradılmışdır (2019-cu ilin iyununda). Fərdi kompüterə quraşdırılmış, əsasında işləyir Elektron (Linux, macOS və Windows dəstəklənir) və kubectl v1.14.0 və ya daha yenisini tələb edir.

Kubewise-in əsas xüsusiyyətləri:

  • Ən çox istifadə olunan Kubernetes obyektləri ilə interfeys qarşılıqlı əlaqəsi: qovşaqlar, ad boşluqları və s.
  • Müxtəlif klasterlər üçün çoxlu kubeconfig faylları üçün dəstək.
  • Ətraf mühit dəyişənini təyin etmək imkanı olan terminal KUBECONFIG.
  • Verilmiş ad sahəsi üçün xüsusi kubeconfig faylları yaradın.
  • Qabaqcıl təhlükəsizlik xüsusiyyətləri (RBAC, parollar, xidmət hesabları).

Hələlik layihənin yalnız bir buraxılışı var - versiya 1.1.0 26 noyabr 2019-cu il tarixli. Üstəlik, müəlliflər onu dərhal Açıq Mənbə kimi buraxmağı planlaşdırırdılar, lakin daxili problemlər səbəbindən (texniki məsələlərlə bağlı deyil) bunu edə bilmədilər. 2020-ci ilin may ayından etibarən müəlliflər növbəti buraxılış üzərində işləyirlər və eyni zamanda kodun açılması prosesini başlatmalıdırlar.

6. OpenShift Konsolu

Kubernetes üçün GUI-lərə ümumi baxış

Bu veb interfeysi OpenShift paylanmasının bir hissəsi olmasına baxmayaraq (orada istifadə edərək quraşdırılmışdır xüsusi operator), müəlliflər nəzərdə tutulmuşdur normal (vanil) Kubernetes qurğularında quraşdırmaq / istifadə etmək imkanı.

OpenShift Console uzun müddətdir ki, inkişaf mərhələsindədir, ona görə də bir çox xüsusiyyətləri özündə cəmləşdirmişdir. Əsas olanları qeyd edəcəyik:

  • Paylaşılan interfeys yanaşması - Konsolda mövcud olan imkanların iki "perspektivləri": administratorlar və tərtibatçılar üçün. Rejim inkişaf etdirici perspektivi obyektləri tərtibatçılar üçün daha başa düşülən formada qruplaşdırır (tətbiqlər üzrə) və interfeysi proqramların yerləşdirilməsi, qurulma/yerləşdirmə statusunun izlənilməsi və hətta Eclipse Che vasitəsilə kodu redaktə etmək kimi tipik vəzifələrin həllinə fokuslanır.
  • İş yüklərinin, şəbəkənin, yaddaşın, giriş hüquqlarının idarə edilməsi.
  • Layihələrə və tətbiqlərə iş yüklərinin məntiqi ayrılması. Ən son buraxılışlardan birində - v4.3 - çıxdı xüsusi layihənin idarə paneli, layihə dilimində adi məlumatları (yerləşdirmələrin sayı və statusları, bölmələr və s.; resurs istehlakı və digər ölçülər) göstərən .
  • Klasterin vəziyyətinin, onda baş vermiş dəyişikliklərin (hadisələrin) real vaxt rejimində yenilənməsi; qeydlərə baxmaq.
  • Prometheus, Alertmanager və Grafana əsasında monitorinq məlumatlarına baxın.
  • Təmsil olunan operatorların idarə edilməsi operatorhub.
  • Docker vasitəsilə işləyən quruluşları idarə edin (Dockerfile ilə müəyyən edilmiş depodan), S2I və ya ixtiyari xarici kommunal xidmətlər.

NB: Müqayisə üçün başqalarını əlavə etmədik Kubernetes paylamaları (məsələn, daha az tanınan Kubesfer): GUI-nin onlarda çox inkişaf etmiş olmasına baxmayaraq, o, adətən böyük bir sistemin inteqrasiya olunmuş yığınının bir hissəsi kimi gəlir. Bununla belə, vanil K8s quraşdırılmasında tam fəaliyyət göstərən kifayət qədər həllər olmadığını düşünürsünüzsə, şərhlərdə bizə bildirin.

Mükafat

1. Beta-da Kubernetes-də qapıçı

  • Sayt;
  • anbar (~100 GitHub ulduzu);
  • Lisenziya: Zlib(?) (ana layihə üçün eyni).

Docker ilə işləmək üçün eyni adlı məşhur interfeysi hazırlayan Portainer komandasının layihəsi. Layihə inkişafın erkən mərhələsində olduğundan (ilk və yeganə beta versiyası çıxdı 16 aprel 2020), xüsusiyyətlərini qiymətləndirmədik. Bununla belə, çoxları üçün maraqlı ola bilər: əgər bu sizinlə bağlıdırsa, inkişafı izləyin.

2. IcePanel

  • Sayt;
  • Lisenziya: mülkiyyət;
  • Qısacası: "Visual Kubernetes Redaktoru".

Kubernetes üçün GUI-lərə ümumi baxış

Bu gənc masaüstü tətbiqi sadə sürüklə və burax interfeysi ilə real vaxt rejimində Kubernetes resurslarını vizuallaşdırmaq və idarə etmək məqsədi daşıyır. Hazırda dəstəklənən obyektlər Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap və Secretdir. Tezliklə onlar Helm üçün dəstək əlavə edəcəklərini vəd edirlər. Əsas çatışmazlıqlar kodun yaxınlığıdır (gözlənilir "bir şəkildə" açılış) və Linux dəstəyinin olmaması (indiyə qədər yalnız Windows və macOS versiyaları mövcuddur, baxmayaraq ki, bu da çox güman ki, vaxt məsələsidir).

3.k9s

  • Sayt;
  • Nümayiş;
  • anbar (~7700 GitHub ulduzu);
  • Lisenziya: Apache 2.0;
  • Qısacası: "Klasterinizi üslubda idarə etməyə imkan verən Kubernetes üçün konsol interfeysi."

Kubernetes üçün GUI-lərə ümumi baxış

Kommunal yalnız konsol GUI təklif etdiyinə görə nəzərdən keçirilən bonus hissəsində idi. Bununla belə, müəlliflər sözün əsl mənasında terminaldan maksimumu sıxışdıraraq, təkcə istifadəçi dostu interfeysi deyil, həm də əvvəlcədən təyin edilmiş 6 mövzunu və təkmil klaviatura qısa yolları və əmr ləqəbləri sistemini təklif etdilər. Onların hərtərəfli yanaşması yalnız görünüşlə məhdudlaşmırdı: k9-un xüsusiyyətləri xoş təsir bağışlayır: resursun idarə edilməsi, klasterin vəziyyətinin göstərilməsi, resursların asılılıqlarla iyerarxik təsvirdə göstərilməsi, qeydlərə baxmaq, RBAC dəstəyi, plaginlər vasitəsilə imkanların genişləndirilməsi... Bütün bunlar diqqəti cəlb etdi. geniş K8s icmasına: layihənin GitHub ulduzlarının sayı demək olar ki, rəsmi Kubernetes İdarə Paneli qədər yaxşıdır!

4. Tətbiqi idarəetmə panelləri

Və baxışın sonunda - ayrı bir mini-kateqoriya. Buraya Kubernetes klasterlərinin hərtərəfli idarə edilməsi üçün deyil, onlarda yerləşdirilənləri idarə etmək üçün nəzərdə tutulmuş iki veb interfeysi daxildir.

Bildiyiniz kimi, Kubernetes-də mürəkkəb proqramların yerləşdirilməsi üçün ən yetkin və geniş yayılmış vasitələrdən biri Helm-dir. Mövcud olduğu müddət ərzində asan yerləşdirmə üçün çoxlu paketlər (Helm diaqramları) yığılmışdır. bir çox məşhur proqramlar. Buna görə də, qrafiklərin həyat dövrünü idarə etməyə imkan verən müvafiq vizual vasitələrin görünüşü olduqca məntiqlidir.

4.1. Monokulyar

  • anbar (1300+ GitHub ulduzu);
  • Lisenziya: Apache 2.0;
  • Qısacası: “Birdən çox depoda Helm diaqramlarını axtarmaq və aşkar etmək üçün veb proqram. Helm mərkəzi layihəsi üçün əsas kimi xidmət edir."

Kubernetes üçün GUI-lərə ümumi baxış

Helm müəlliflərinin bu inkişafı Kubernetes-də quraşdırılıb və eyni klasterdə işləyir, tapşırığı yerinə yetirir. Lakin hazırda layihə demək olar ki, hazırlanmayıb. Onun əsas məqsədi Helm Hub-ın mövcudluğunu dəstəkləməkdir. Digər ehtiyaclar üçün müəlliflər Kubeapps (aşağıya bax) və ya Red Hat Automation Broker-i (OpenShift-in bir hissəsidir, lakin artıq inkişaf etdirilməyib) tövsiyə edir.

4.2. Kubeapps

  • Sayt;
  • Təqdimat;
  • anbar (~2100 GitHub ulduzu);
  • Lisenziya: Apache 2.0
  • Qısacası: "Kubernetes üçün tətbiq paneliniz."

Kubernetes üçün GUI-lərə ümumi baxış

Bitnami məhsulu, həmçinin Kubernetes klasterində quraşdırılır, lakin şəxsi depolarla işləməyə ilkin diqqəti ilə Monocular-dan fərqlənir.

Kubeapps-ın əsas funksiyaları və xüsusiyyətləri:

  • Depolardan Helm diaqramlarına baxın və quraşdırın.
  • Klasterdə quraşdırılmış Helm əsaslı proqramları yoxlayın, yeniləyin və silin.
  • Fərdi və şəxsi diaqram repozitoriyalarına dəstək (ChartMuseum və JFrog Artifactory-ni dəstəkləyir).
  • Xarici xidmətlərə baxmaq və onlarla işləmək - Xidmət Kataloqundan və Xidmət Brokerlərindən.
  • Service Catalog Bindings mexanizmindən istifadə edərək quraşdırılmış proqramların nəşri.
  • RBAC istifadə edərək identifikasiya və hüquqların ayrılmasına dəstək.

Xülasə cədvəli

Aşağıda müqayisəni asanlaşdırmaq üçün mövcud vizual interfeyslərin əsas xüsusiyyətlərini ümumiləşdirməyə və birləşdirməyə çalışdığımız xülasə cədvəlidir:

Kubernetes üçün GUI-lərə ümumi baxış
(Cədvəlin onlayn versiyası Google Sənəddə mövcuddur.)

Nəticə

Kubernetes üçün GUI-lər olduqca spesifik və gənc bir yerdir. Bununla belə, o, çox fəal inkişaf edir: həm kifayət qədər yetkin həllər, həm də hələ də böyümək üçün yerləri olan çox gənc həllər tapmaq mümkündür. Demək olar ki, hər zövqə uyğun xüsusiyyətlər və görünüşlər təklif edərək, müxtəlif tətbiqlərə cavab verirlər. Ümid edirik ki, bu baxış cari ehtiyaclarınıza ən uyğun olan aləti seçməyinizə kömək edəcək.

PS

Çox sağ ol kvaps müqayisə cədvəli üçün OpenShift Console-dakı məlumatlar üçün!

Bloqumuzda da oxuyun:

Mənbə: www.habr.com

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