Kubernetes үшін графикалық интерфейстерге шолу

Kubernetes үшін графикалық интерфейстерге шолу

Жүйемен толыққанды жұмыс істеу үшін пәрмен жолы утилиталарын білу маңызды: Kubernetes жағдайында бұл kubectl. Екінші жағынан, жақсы жобаланған, ойластырылған графикалық интерфейстер орындай аладыокәдімгі тапсырмалардың көпшілігі және жүйелердің жұмыс істеуі үшін қосымша мүмкіндіктер ашады.

Өткен жылы аудармасын шығардық веб интерфейсіне шағын шолу Kubernetes үшін веб-интерфейс туралы хабарландыруға сәйкес келеді Kubernetes WebView. Осы мақаланың авторы және утилитаның өзі Заландодан келген Хеннинг Джейкобс жаңа өнімді «web үшін kubectl» ретінде орналастырды. Ол техникалық қолдау форматында өзара әрекеттесу (мысалы, веб-сілтеме арқылы мәселені жылдам көрсету) және инциденттерге жауап беру, бір уақытта көптеген кластерлерде ақауларды іздеу үшін пайдаланушыға ыңғайлы мүмкіндіктері бар құралды жасағысы келді. Оның ұрпағы қазіргі уақытта дамып келеді (негізінен автордың өз күшімен).

Біз әртүрлі өлшемдегі көптеген Kubernetes кластерлеріне қызмет көрсете отырып, біз өз тұтынушыларымызға көрнекі құрал ұсынуға мүдделіміз. Сәйкес интерфейсті таңдаған кезде біз үшін келесі мүмкіндіктер маңызды болды:

  • пайдаланушы құқықтарын саралауды қолдау (RBAC);
  • аттар кеңістігінің күйін және стандартты Kubernetes примитивтерін визуализациялау (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • подвод ішіндегі пәрмен жолына қол жеткізу;
  • бөренелердің журналдарын қарау;
  • түйіндердің күйін көру (describe status);
  • түйіршіктерді жою.

Тұтынылатын ресурстарды қарау (подтар/контроллерлер/аттар кеңістігі контекстінде), K8s примитивтерін жасау/өңдеу сияқты басқа функциялар біздің жұмыс үрдісінде маңызды емес.

Біз шолуды классикалық Kubernetes бақылау тақтасынан бастаймыз, бұл біздің стандартымыз. Әлем бір орында тұрмағандықтан (бұл Кубернетестің жаңа GUI-тері бар дегенді білдіреді), біз мақаланың соңында салыстырмалы кестеде барлығын қорытындылай отырып, оның қазіргі баламалары туралы сөйлесетін боламыз.

NB: Шолуда біз бұрын қарастырылған шешімдермен қайталамаймыз соңғы мақала, дегенмен, толықтық үшін одан тиісті опциялар (K8Dash, Octant, Kubernetes Web View) қорытынды кестеге енгізілген.

1. Kubernetes бақылау тақтасы

  • Құжаттар беті;
  • репозиторий (8000+ GitHub жұлдыздары);
  • Лицензия: Apache 2.0;
  • Қысқаша айтқанда: «Kubernetes кластерлеріне арналған әмбебап веб-интерфейс. Ол пайдаланушыларға кластерде жұмыс істейтін қолданбаларды басқаруға және ақаулықтарды жоюға, сондай-ақ кластердің өзін басқаруға мүмкіндік береді».

Kubernetes үшін графикалық интерфейстерге шолу

Бұл ресми құжаттамада Kubernetes авторлары қамтитын жалпы мақсаттағы панель (бірақ орналастыруға болмайды әдепкі). Ол күнделікті жұмыс және кластердегі қолданбаларды жөндеу қажеттіліктеріне арналған. Үйде біз оны әзірлеушілерге кластерге қажетті және жеткілікті қолжетімділікті қамтамасыз етуге мүмкіндік беретін толыққанды жеңіл визуалды құрал ретінде қолданамыз. Оның мүмкіндіктері олардың кластерді пайдалану процесінде туындайтын барлық қажеттіліктерін қамтиды (В. Бұл мақала біз панельдің кейбір мүмкіндіктерін көрсеттік). Сіз болжағандай, бұл оның жоғарыда аталған барлық талаптарымызды қанағаттандыратынын білдіреді.

Kubernetes бақылау тақтасының негізгі мүмкіндіктерінің арасында:

  • Навигация: K8s негізгі нысандарын аттар кеңістігінің контекстінде қарау.
  • Әкімші құқықтарыңыз болса, панель түйіндерді, аттар кеңістігін және тұрақты томдарды көрсетеді. Түйіндер үшін жадты, процессорды, ресурстарды бөлуді, көрсеткіштерді, күйді, оқиғаларды және т.б. пайдалану туралы статистика қол жетімді.
  • Атау кеңістігінде орналастырылған қолданбаларды түрі (орналастыру, StatefulSet, т.б.), олардың арасындағы байланыстар (ReplicaSet, Horizontal Pod Autoscaler), жалпы және жекелендірілген статистика және ақпарат бойынша қараңыз.
  • Қызметтер мен кірістерді, сондай-ақ олардың қосқыштармен және соңғы нүктелермен қарым-қатынастарын қараңыз.
  • Файл нысандары мен қоймаларын көру: тұрақты көлем және тұрақты көлем туралы шағым.
  • ConfigMap және құпияны қараңыз және өңдеңіз.
  • Журналдарды қарау.
  • Контейнерлердегі пәрмен жолына кіру.

Маңызды кемшілік (бірақ біз үшін емес) көп кластерлік жұмысты қолдаудың жоқтығы болып табылады. Жобаны қауымдастық белсенді түрде дамытады және Kubernetes API жаңа нұсқалары мен спецификацияларын шығару арқылы тиісті мүмкіндіктерді қолдайды: панельдің соңғы нұсқасы v2.0.1 22 жылдың 2020 мамыры - Kubernetes 1.18 нұсқасымен үйлесімділік тексерілді.

2. линза

Kubernetes үшін графикалық интерфейстерге шолу

Жоба Kubernetes үшін толық интеграцияланған әзірлеу ортасы (IDE) ретінде орналастырылған. Сонымен қатар, ол көптеген кластерлермен және оларда жұмыс істейтін көптеген қосқыштармен жұмыс істеу үшін оңтайландырылған (25 XNUMX тармақта тексерілген).

Линзаның негізгі мүмкіндіктері/мүмкіндіктері:

  • Кластер ішінде ештеңені орнатуды қажет етпейтін дербес қолданба (дәлірек айтқанда, барлық көрсеткіштерді алу үшін Prometheus қажет болады, бірақ ол үшін бар орнатуды да пайдалануға болады). «Негізгі» орнату Linux, macOS немесе Windows жүйесінде жұмыс істейтін дербес компьютерде жасалады.
  • Көп кластерді басқару (жүздеген кластерлерге қолдау көрсетіледі).
  • Кластердің жағдайын нақты уақыт режимінде визуализациялау.
  • Кірістірілген Prometheus негізіндегі тарихы бар ресурстарды пайдалану графиктері мен үрдістері.
  • Контейнерлердің пәрмен жолына және кластер түйіндеріне қатынасу.
  • Kubernetes RBAC үшін толық қолдау.

Ағымдағы шығарылым - 3.5.0 16 маусым 2020 ж. Бастапқыда Kontena жасаған, бүгінде барлық зияткерлік меншік арнайы ұйымға берілді Лейкенд зертханалары, «Контенаның ашық бастапқы бағдарламалық құралы мен өнімдерінің сақталуына және қолжетімділігіне» жауап беретін «бұлттық жергілікті геэктер мен технологтардың одағы» деп аталады.

Lens — GitHub жүйесіндегі Kubernetes үшін GUI санатындағы екінші танымал жоба, тек Kubernets бақылау тақтасының өзін «жоғалтады». CLI* санатына жатпайтын барлық басқа ашық бастапқы шешімдер танымалдығы жағынан айтарлықтай төмен.

* Шолудың бонустық бөлігінде K9 туралы қараңыз.

3. Кубернетикалық

Kubernetes үшін графикалық интерфейстерге шолу

Бұл жеке компьютерде орнатылған меншікті қолданба (Linux, macOS, Windows жүйесіне қолдау көрсетіледі). Оның авторлары пәрмен жолы утилитасын толығымен ауыстыруға уәде береді және онымен бірге - командаларды есте сақтаудың қажеті жоқ және тіпті жылдамдықты он есе арттыру.

Құралдың қызықты мүмкіндіктерінің бірі - Helm диаграммаларына кірістірілген қолдау, ал кемшіліктердің бірі - қолданба өнімділігі көрсеткіштерінің болмауы.

Кубернетиктің негізгі ерекшеліктері:

  • Кластер күйін ыңғайлы көрсету. Барлық қатысты кластер нысандарын және олардың тәуелділіктерін көруге арналған бір экран; барлық объектілер үшін қызыл/жасыл дайындық күйі; нақты уақыттағы күй жаңартулары бар кластер күйін қарау режимі.
  • Қолданбаны жоюға және масштабтауға арналған жылдам әрекет түймелері.
  • Көп кластер жұмысын қолдау.
  • Ат кеңістігімен қарапайым жұмыс.
  • Helm диаграммаларына және Helm репозиторийлеріне (соның ішінде жеке) қолдау көрсету. Веб-интерфейсте диаграммаларды орнату және басқару.

Өнімнің ағымдағы құны - аттар кеңістігі мен кластерлердің кез келген саны үшін оны бір адам пайдаланғаны үшін 30 еуроның бір реттік төлемі.

4. Керемет

  • сайтқа;
  • Презентация;
  • репозиторий (~500 GitHub жұлдызы);
  • Лицензия: Apache 2.0
  • Қысқаша айтқанда: «Kubevious Kubernetes кластерлерін, қолданба конфигурациясын және күйді қарауды қауіпсіз және түсінуге оңай етеді».

Kubernetes үшін графикалық интерфейстерге шолу

Жобаның идеясы кластерде орналастырылған қолданба конфигурацияларын талдау және жөндеуге арналған құралды жасау болып табылады. Авторлар, ең алдымен, осы ерекшеліктерді жүзеге асыруға назар аударды, кейінірек жалпы нәрселерді қалдырды.

Kubevious негізгі мүмкіндіктері мен функциялары:

  • Қолданбаға бағытталған әдіспен кластерді визуализациялау: интерфейстегі қатысты нысандар иерархияда топтастырылған.
  • Конфигурациялардағы тәуелділіктерді және олардың өзгерістерінің каскадтық салдарын визуалды көрсету.
  • Кластер конфигурациясының қателерін көрсету: белгілерді теріс пайдалану, өткізіп алған порттар және т.б. (Айтпақшы, егер сізді бұл мүмкіндік қызықтырса, назар аударыңыз Полярол туралы біз қазірдің өзінде жазылған.)
  • Алдыңғы тармаққа қосымша, ықтимал қауіпті контейнерлерді анықтау қол жетімді, яғни. тым көп артықшылықтарға ие болу (атрибуттар hostPID, hostNetwork, hostIPC, монтаждау docker.sock және т.б).
  • Кластерге арналған кеңейтілген іздеу жүйесі (нысандардың атаулары бойынша ғана емес, сонымен қатар олардың қасиеттері бойынша).
  • Қуатты жоспарлау және ресурстарды оңтайландыру құралдары.
  • Кірістірілген «уақыт машинасы» (нысандардың конфигурациясындағы алдыңғы өзгерістерді көру мүмкіндігі).
  • Рөлдердің, RoleBindings, ServiceAccounts жиынтық өзара байланысты кестесі бар RBAC басқару.
  • Тек бір кластермен жұмыс істейді.

Жобаның өте қысқа тарихы бар (алғашқы шығарылым 11 жылдың 2020 ақпанында болды) және дамудың тұрақтандыру немесе баяулау кезеңі болған сияқты. Алдыңғы нұсқалар жиі шығарылса, соңғы шығарылым (v0.5 15 жылғы 2020 сәуір) бастапқы даму қарқынынан артта қалды. Бұл салымшылардың аздығынан болса керек: репозиторий тарихында олардың тек 4-уі ғана бар және барлық нақты жұмысты бір адам жасайды.

5. Kubewise

  • Жоба беті;
  • Лицензия: меншікті (ашық бастапқы кодқа айналады);
  • Қысқаша айтқанда: «Kubernetes үшін қарапайым көп платформалы клиент».

Kubernetes үшін графикалық интерфейстерге шолу

VMware жаңа өнімі, бастапқыда ішкі хакатонның бөлігі ретінде жасалған (2019 жылдың маусымында). Дербес компьютерде орнатылған, негізінде жұмыс істейді Электрон (Linux, macOS және Windows жүйесіне қолдау көрсетіледі) және kubectl v1.14.0 немесе одан кейінгі нұсқасын қажет етеді.

Kubewise негізгі мүмкіндіктері:

  • Ең жиі қолданылатын Kubernetes нысандарымен интерфейстің өзара әрекеттесуі: түйіндер, аттар кеңістігі және т.б.
  • Әртүрлі кластерлер үшін бірнеше kubeconfig файлдарын қолдау.
  • Айнымалы ортаны орнату мүмкіндігі бар терминал KUBECONFIG.
  • Берілген аттар кеңістігі үшін теңшелетін kubeconfig файлдарын жасаңыз.
  • Жетілдірілген қауіпсіздік мүмкіндіктері (RBAC, құпия сөздер, қызмет тіркелгілері).

Әзірге жобаның бір ғана шығарылымы бар - нұсқасы 1.1.0 26 қараша 2019 ж. Сонымен қатар, авторлар оны бірден Open Source ретінде шығаруды жоспарлады, бірақ ішкі проблемаларға байланысты (техникалық мәселелерге байланысты емес) олар мұны істей алмады. 2020 жылдың мамыр айындағы жағдай бойынша авторлар келесі шығарылыммен жұмыс істеуде және кодты ашу процесін бір уақытта бастауы керек.

6. OpenShift консолі

Kubernetes үшін графикалық интерфейстерге шолу

Бұл веб-интерфейс OpenShift дистрибутивінің бөлігі болып табылатынына қарамастан (ол жерде орнатылған арнайы оператор), авторлар көзделген оны қалыпты (ванильді) Kubernetes қондырғыларында орнату / пайдалану мүмкіндігі.

OpenShift Console ұзақ уақыт бойы әзірленуде, сондықтан ол көптеген мүмкіндіктерді біріктірді. Олардың негізгілерін атап өтеміз:

  • Ортақ интерфейс тәсілі – Консольде қолжетімді мүмкіндіктердің екі «перспективасы»: әкімшілер және әзірлеушілер үшін. Режим әзірлеуші ​​перспективасы нысандарды әзірлеушілерге (қолданбалар бойынша) түсінікті пішінде топтайды және интерфейсті қолданбаларды қолдану, құрастыру/орналастыру күйін бақылау және тіпті Eclipse Che арқылы өңдеу кодтары сияқты типтік тапсырмаларды шешуге бағыттайды.
  • Жұмыс жүктемесін, желіні, сақтауды, кіру құқықтарын басқару.
  • Жұмыс жүктемелерін жобалар мен қолданбаларға логикалық бөлу. Соңғы шығарылымдардың бірінде - v4.3 - пайда арнайы жобаның бақылау тақтасы, ол жоба бөлігінде әдеттегі деректерді (орналастырулардың саны мен күйлері, подкасттар және т.б.; ресурстарды тұтыну және басқа көрсеткіштер) көрсетеді.
  • Кластердің күйін, ондағы болған өзгерістерді (оқиғаларды) нақты уақыт режимінде жаңарту; журналдарды қарау.
  • Prometheus, Alertmanager және Grafana негізіндегі мониторинг деректерін қараңыз.
  • Көрсетілген операторларды басқару operatorhub.
  • Docker арқылы жұмыс істейтін құрылымдарды басқару (Dockerfile бар көрсетілген репозиторийден), S2I немесе ерікті сыртқы утилиталар.

NB: Біз салыстыруға басқаларды қосқан жоқпыз Kubernetes дистрибутивтері (мысалы, әлдеқайда аз белгілі Кубесфера): GUI өте жетілдірілген болуы мүмкін, бірақ ол әдетте үлкенірек жүйенің біріктірілген стек бөлігі ретінде келеді. Дегенмен, ванильді K8s қондырғысында толық жұмыс істейтін шешімдер жеткіліксіз деп ойласаңыз, түсініктемелерде бізге хабарлаңыз.

сыйақы

1. Бета нұсқасындағы Kubernetes сайтындағы кіргізуші

Docker-пен жұмыс істеу үшін аттас танымал интерфейсті әзірлеген Porttainer командасының жобасы. Жоба дамудың бастапқы кезеңінде болғандықтан (бірінші және жалғыз бета нұсқасы шыққан 16 жылдың 2020 сәуірі), біз оның ерекшеліктерін бағаламадық. Дегенмен, бұл көпшілікті қызықтыруы мүмкін: егер бұл сіз туралы болса, дамуды қадағалаңыз.

2. IcePanel

  • сайтқа;
  • Лицензия: меншік;
  • Қысқаша айтқанда: «Visual Kubernetes редакторы».

Kubernetes үшін графикалық интерфейстерге шолу

Бұл жас жұмыс үстелі қолданбасы қарапайым сүйреп апару интерфейсімен нақты уақытта Kubernetes ресурстарын визуализациялау және басқаруға бағытталған. Қазіргі уақытта қолдау көрсетілетін нысандар: Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap және Secret. Көп ұзамай олар Helm-ге қолдау көрсетуге уәде береді. Негізгі кемшіліктер - кодтың жақындығы (бұл күтілуде «бір жолмен» ашу) және Linux қолдауының болмауы (әзірге тек Windows және macOS нұсқалары қол жетімді, бірақ бұл да уақыт мәселесі).

3,к9с

  • сайтқа;
  • Көрсетілім;
  • репозиторий (~7700 GitHub жұлдызы);
  • Лицензия: Apache 2.0;
  • Қысқаша айтқанда: «Кластерді стильде басқаруға мүмкіндік беретін Kubernetes үшін консоль интерфейсі».

Kubernetes үшін графикалық интерфейстерге шолу

Утилита тек шолудың бонустық бөлігінде болды, себебі ол консольдық интерфейсті ұсынады. Дегенмен, авторлар пайдаланушыға ыңғайлы интерфейсті ғана емес, сонымен қатар алдын ала анықталған 6 тақырыпты және пернелер тіркесімдері мен пәрмен бүркеншік аттарының жетілдірілген жүйесін ұсына отырып, терминалдан максималды түрде сығып алды. Олардың мұқият көзқарасы сыртқы көрініспен шектелмеді: k9s мүмкіндіктері жағымды әсер қалдырады: ресурстарды басқару, кластердің күйін көрсету, ресурстарды тәуелділіктермен иерархиялық көріністе көрсету, журналдарды қарау, RBAC қолдауы, плагиндер арқылы мүмкіндіктерді кеңейту ... Мұның бәрі қызықтырды. кең K8 қауымдастығына: жобаның GitHub жұлдыздарының саны ресми Kubernetes бақылау тақтасындағыдай жақсы!

4. Қолданбаларды басқару панельдері

Ал шолудың соңында - жеке шағын санат. Ол Kubernetes кластерлерін жан-жақты басқаруға емес, оларда орналастырылғандарды басқаруға арналған екі веб-интерфейсті қамтиды.

Өздеріңіз білетіндей, Kubernetes-те күрделі қосымшаларды орналастырудың ең жетілген және кең таралған құралдарының бірі - Helm. Оның өмір сүру кезеңінде оңай орналастыру үшін көптеген пакеттер (Helm диаграммалары) жинақталды. көптеген танымал қолданбалар. Сондықтан диаграммалардың өмірлік циклін басқаруға мүмкіндік беретін сәйкес көрнекі құралдардың пайда болуы өте қисынды.

4.1. Монокулярлық

  • репозиторий (1300+ GitHub жұлдыздары);
  • Лицензия: Apache 2.0;
  • Қысқаша айтқанда: «Бірнеше репозиторийлер бойынша Helm диаграммаларын іздеуге және табуға арналған веб-қосымша. Helm хаб жобасының негізі ретінде қызмет етеді».

Kubernetes үшін графикалық интерфейстерге шолу

Helm авторларының бұл әзірлемесі Kubernetes-те орнатылған және тапсырманы орындай отырып, бір кластер ішінде жұмыс істейді. Дегенмен, қазіргі уақытта жоба әзірленбеген дерлік. Оның негізгі мақсаты - Helm Hub барын қолдау. Басқа қажеттіліктер үшін авторлар Kubeapps (төменде қараңыз) немесе Red Hat Automation Broker (OpenShift бөлігі, бірақ енді әзірленбеген) ұсынады.

4.2. Kubeapps

Kubernetes үшін графикалық интерфейстерге шолу

Bitnami өнімі, ол да Kubernetes кластерінде орнатылған, бірақ жеке репозитарийлермен жұмыс істеуге бағытталған бастапқы фокусы бойынша Monocular-дан ерекшеленеді.

Kubeapps негізгі функциялары мен мүмкіндіктері:

  • Репозитарийлерден Helm диаграммаларын қараңыз және орнатыңыз.
  • Кластерде орнатылған Helm негізіндегі қолданбаларды тексеріңіз, жаңартыңыз және жойыңыз.
  • Пайдаланушы және жеке диаграмма репозиторийлеріне қолдау көрсету (ChartMuseum және JFrog Artifactory қолдауы).
  • Сыртқы қызметтерді қарау және олармен жұмыс істеу – Қызметтер каталогынан және сервис брокерлерінен.
  • Қызметтік каталогты байланыстыру механизмі арқылы орнатылған қолданбаларды жариялау.
  • RBAC көмегімен аутентификацияны және құқықтарды бөлуді қолдау.

Жиынтық кесте

Төменде біз салыстыруды жеңілдету үшін бар визуалды интерфейстердің негізгі мүмкіндіктерін қорытындылауға және біріктіруге тырысқан жиынтық кесте берілген:

Kubernetes үшін графикалық интерфейстерге шолу
(Кестенің онлайн нұсқасы Google Docs қолданбасында қолжетімді.)

қорытынды

Kubernetes үшін GUI - бұл өте нақты және жас тауаша. Дегенмен, ол өте белсенді дамып келеді: қазірдің өзінде жетілген шешімдерді де, әлі де өсуге мүмкіндігі бар өте жас шешімдерді табуға болады. Олар кез келген дәмге сәйкес келетін мүмкіндіктер мен көріністерді ұсына отырып, әр түрлі қолданбаларды қамтамасыз етеді. Бұл шолу ағымдағы қажеттіліктеріңізге сәйкес келетін құралды таңдауға көмектеседі деп үміттенеміз.

PS

Рақмет сізге кваптар салыстыру кестесіне арналған OpenShift консоліндегі деректер үшін!

Біздің блогта да оқыңыз:

Ақпарат көзі: www.habr.com

пікір қалдыру