Змест[Схаваць][Паказаць]
Цяпер кантэйнеры выкарыстоўваюцца ў большасці вытворчых асяроддзяў, таму што яны больш маштабуемыя, даступныя па цане, пераўзыходзяць віртуальныя машыны і хутчэй разгортваюцца.
Вядома, праца з 10–20 кантэйнерамі робіць усё прасцей, але разгледзім сцэнар, у якім ваша вытворчае асяроддзе кластара Kubernetes змяшчае сотні кантэйнераў.
Калі некалькі кантэйнераў працуюць адначасова, становіцца цяжка кантраляваць тэрмін службы кантэйнера. Вам патрэбна платформа або рашэнне для аркестроўкі кантэйнераў для аўтаматызаванага разгортвання, маштабавання, арганізацыі і адміністравання кантэйнераў.
Паколькі абодва рашэнні аркестроўкі кантэйнераў з'яўляюцца двума асобнымі праектамі, параўнанне Kubernetes і OpenShift несправядліва.
У адрозненне ад OpenShift, які з'яўляецца службай Red Hat, Kubernetes з'яўляецца ініцыятывай з адкрытым зыходным кодам. Два з лепшых інструментаў аркестроўкі кантэйнераў на рынку зараз - гэта Kubernetes і Red Hat OpenShift.
У гэтым паведамленні будуць разгледжаны розныя інструменты і тое, чым яны адрозніваюцца адзін ад аднаго.
Перш чым рухацца далей, давайце разбярэмся з аркестроўкай кантэйнераў.
Такім чынам, што такое аранжыроўка кантэйнераў?
Аўтаматызаваная канфігурацыя кантэйнераў стала магчымай дзякуючы праграмнаму забеспячэнню для аркестроўкі кантэйнераў. Яго можна пабудаваць і выкарыстоўваць у любых умовах, таму ён лічыцца партатыўным.
Тэхналогія кантэйнераў аб'ядноўвае код прыкладання, бібліятэкі і іншыя неабходныя даныя, выкарыстоўваючы адну падзею.
З-за таго, што ён утрымлівае найбольш фундаментальны аб'ектна- або працэсна-арыентаваны код, яго называюць "адзіным блокам" праграмы.
Прыкладанні цяпер могуць працаваць больш эфектыўна, незалежна ад таго, выкарыстоўваюцца яны ў экасістэме распрацоўшчыка або лакальна. Аркестрацыя кластарных кантэйнераў - гэта папулярны від тэхналогіі кантэйнернага праграмнага забеспячэння, і Kubernetes створаны для такой тэхналогіі.
Кантэйнерізацыя стварае эфектыўную сістэму, падобную да сервера, з выкарыстаннем кластараў вузлоў - альбо рэальных, альбо віртуальных машын. Такім чынам, ёсць больш месца, падзел прыкладанняў, балансіроўка нагрузкі, а таксама даступныя пастаянна лепшыя хуткасці апрацоўкі.
Што такое Kubernetes?
Сістэма Kubernetes, створаная для аркестроўкі кантэйнераў, з'яўляецца бясплатнай і адкрытай. Google быў першапачатковым стваральнікам гэтага.
Фонд Cloud Native Computing Foundation, які быў створаны для развіцця кантэйнерных тэхналогій, цяпер уключае Kubernetes у якасці члена.
Партатыўная платформа кантэйнерызацыі пад назвай Kubernetes прапануе мноства магчымасцей, якія палягчаюць кіраванне службамі і працоўнымі нагрузкамі.
Разгортванне, стварэнне сеткі і маштабаванасць - гэта толькі некаторыя з аперацый, для аўтаматызацыі якіх Kubernetes мае інструменты.
Kubernetes выкарыстоўваецца распрацоўшчыкамі для інтэграцыі функцый у свае канвееры CI/CD, такіх як балансіроўка нагрузкі, аўтаматызацыя тэхналагічных працэсаў, і аранжыроўка захоўвання.
У кластары Kubernetes галоўны вузел і шматлікія працоўныя вузлы выкарыстоўваюць дызайн галоўны-падпарадкаваны.
Кожны працоўны вузел будзе мець мноства секцый, якія ўяўляюць сабой не што іншае, як набор кантэйнераў, аб'яднаных у функцыянальную адзінку.
Kubernetes вызначае рэсурсы, якія дастаўляюцца на сервер API для стварэння рэальнага прыкладання з выкарыстаннем YAML.
Асаблівасці
- Яго можна выкарыстоўваць бясплатна на любой платформе, таму што ён з адкрытым зыходным кодам.
- Вы можаце хутка адкаціцца і разгарнуць, каб аўтаматычна апрацоўваць час прастою.
- Ён забяспечвае функцыі балансавання нагрузкі для размеркавання сеткавага трафіку.
- Ён мае моцную, актыўную супольнасць распрацоўшчыкаў і інжынераў, якая дапамагае ў пастаянным выпуску новых функцый.
- Ён падтрымлівае некалькі моў праграмавання і фрэймворкаў, даючы распрацоўшчыкам і адміністратарам свабоду.
- Ён мае прыборную панэль па змаўчанні, якая забяспечвае масу даных для разумення кожнага аспекту кластара.
- Гэта дапамагае эфектыўна выкарыстоўваць рэсурсы інфраструктуры і знізіць агульныя выдаткі.
- Для запуску праграм Kubernetes мантуе і дадае выбраную вамі сістэму захоўвання.
- З Kubernetes вы можаце хутка і эфектыўна маштабаваць рэсурсы як па вертыкалі, так і па гарызанталі.
- Кантэйнеры, якія выходзяць з ладу падчас выканання, могуць быць аўтаматычна перазапушчаны Kubernetes, а тыя, якія не рэагуюць на праверкі спраўнасці карыстальніка, гінуць. Аднак, калі вузел выходзіць з ладу, ён замяняе яго і пераразмяркоўвае няўдалыя кантэйнеры іншым актыўным вузлам.
Што такое OpenShift?
Кампанія Red Hat стварыла калекцыю інструментаў кантэйнерызацыі OpenShift. Docker і Kubernetes, дзве папулярныя тэхналогіі кантэйнерызацыі, выкарыстоўваюцца ў рамках распрацоўкі OpenShift.
Калі гаворка ідзе пра размеркаваную платформу, Red Hat разглядае OpenShift як дыстрыбутыў, а Kubernetes - як ядро платформы.
Платформа, створаная на базе Kubernetes і даступная ў воблаку, называецца OpenShift Container Platform. Яго часта разглядаюць як платформу як паслугу (PaaS), якая прапануе паслугі па кантэйнерызацыі.
Ён забяспечвае самаабслугоўванне, цэнтралізаванае адміністраванне палітык, убудаваны маніторынг і бяспеку самага высокага ўзроўню для бізнесу.
OpenShift сумяшчальны з кантэйнернымі нагрузкамі Kubernetes.
Акрамя таго, ён забяспечвае OpenShift OKD (раней вядомы як Origin), які дазваляе ствараць, распаўсюджваць і тэставаць воблачныя прыкладанні.
Праграмы, напісаныя на Node.js, Ruby, Python, Perl і Java, можна апрацоўваць OpenShift. Платформа дазваляе аўтаматычнае або ручное маштабаванне кантэйнерных праграм.
OpenShift уключае шэраг канцэпцый віртуалізацыі ў якасці ўзроўню абстракцыі. Асноўная ідэя OpenShift - віртуалізацыя.
OpenShift сумяшчальны з Open Container Initiative (OCI) для размяшчэння кантэйнераў і асяроддзя выканання і хутка ўзаемадзейнічае з іншымі тэхналогіямі DevOps.
Кампаніі, якія выкарыстоўваюць OpenShift, маюць патрэбу ў комплекснай платформе са строгімі правіламі бяспекі, хуткім разгортваннем прыкладанняў і спецыялізаванай падтрымкай.
Гэта робіць яго асабліва прывабным выбарам для буйнамаштабных праектаў або невялікіх прадпрыемстваў, якім не хапае спецыялізаванага персаналу для адміністравання, абароны і маніторынгу сваіх праграм.
Асаблівасці
- Ён можа больш хутка і спрытна ствараць і запускаць прыкладанне.
- Шмат іншых інструментаў DevOps можна лёгка інтэграваць з ім.
- Для кожнага выпуску ён разглядае шэраг убудоў іншых вытворцаў.
- Гэта проста ў выкарыстанні лакальна або з любым пастаўшчыком хмарных паслуг.
- Ён падтрымлівае Open Container Initiative (OCI) для размяшчэння і запуску кантэйнераў.
- Ён змяшчае некалькі выпраўленняў прадукцыйнасці, дэфектаў і праблем бяспекі.
- Падтрымліваюцца Prometheus і Grafana, якія дапамагаюць у маніторынгу кластараў
- Ён можа хутка ствараць і выконваць палітыку з дапамогай уніфікаванай кансолі на Red Hat.
- Кантроль доступу, сетка і карпаратыўны рэестр з убудаваным сканерам - гэта толькі некаторыя з асноўных функцый бяспекі Red Hat OpenShift.
- Праграмы на аснове Red Hat OpenShift могуць разрастацца да тысяч асобнікаў на сотнях вузлоў за лічаныя секунды.
- З дапамогай кластараў з 3 вузламі, аднаго вузла Red Hat OpenShift і аддаленых працоўных вузлоў Red Hat OpenShift паляпшае падтрымку тапалогій меншага памеру ў краявых сцэнарыях. Гэтыя тапалогіі лепш адпавядаюць патрабаванням фізічнага памеру, падключэння і даступнасці розных краявых сайтаў.
Асноўныя адрозненні паміж Kubernetes і OpenShift
OpenSource і камерцыйны
Асноўнае адрозненне паміж Kubernetes і OpenShift заключаецца ў тым, што першы з'яўляецца праектам з адкрытым зыходным кодам, а другі - камерцыйнай карпаратыўнай прапановай. У выніку Kubernetes з'яўляецца самаакупным інструментам.
Людзі звязваюцца з супольнасцю Kubernetes, якая складаецца з некалькіх распрацоўшчыкаў, адміністратараў, архітэктараў і г.д., каб вырашыць любыя праблемы або памылкі ў гэтай тэхналогіі.
Пры выкарыстанні гэтай падпіскі на прадукт Red Hat з OpenShift у вас ёсць выдатны варыянт платнай падтрымкі для вырашэння любых праблем. Red Hat CloudForms можна выкарыстоўваць з падпіскай OpenShift для кіравання фізічнай, віртуальнай і воблачнай інфраструктурай.
Цэны на платформу можна ўбачыць тут.
Карыстальніцкі інтэрфейс і вопыт
Складаны вэб-інтэрфейс Kubernetes можа збянтэжыць пачаткоўцаў.
Карыстальнікі павінны ўсталяваць прыборную панэль Kubernetes і выкарыстоўваць Kube-proxy для перадачы порта сваёй машыны на сервер кластара для прагляду вэб-графічнага інтэрфейсу карыстальніка (GUI) Kubernetes.
Паколькі на прыборнай панэлі адсутнічае старонка ўваходу, карыстальнікі павінны дадаткова ўсталяваць токены носьбіта для забеспячэння аўтэнтыфікацыі і аўтарызацыі.
З іншага боку, OpenShift прапануе зручную інтэрнэт-кансоль са старонкай ўваходу ў адзін дотык. Кансоль дае карыстальнікам просты ў выкарыстанні інтэрфейс на аснове формы, які дазваляе дадаваць, выдаляць і мадыфікаваць рэсурсы. З OpenShift карыстальнікі відавочна выйграюць.
вэб-інтэрфейс
Вам патрэбны адпаведны і зручны вэб-інтэрфейс для выканання ўсіх задач адміністравання кластара. І OpenShift забяспечвае гэта. Кожнаму карыстальніку дастаткова выканаць кароткі працэс уваходу, перш чым атрымаць інтуітыўнае прадстаўленне ўсяго кластара.
OpenShift ад Red Hat забяспечвае інтуітыўна зразумелы вэб-інтэрфейс, які дазваляе спецыялістам DevOps лёгка выконваць дзеянні Kubernetes, а аператыўным групам - зручна кантраляваць прыкладанне.
Элемент кіравання забяспечвае шэраг варыянтаў, якія можна прымяніць адным пстрычкай мышы, у тым ліку зборку, разгортванне, абнаўленне, маштабаванне і выстаўленне.
Kubernetes уключае простую прыборную панэль, якая можа дапамагчы вам толькі з асноўнымі функцыямі. Акрамя таго, у параўнанні з іншымі прыборнымі панэлямі на рынку, прыборная панэль не вельмі зручная.
У выніку спецыялісты DevOps аддаюць перавагу камбінаваць базавую прыборную панэль Kubernetes з альтэрнатыўнымі інструментамі візуалізацыі, такімі як Праметэй і Графана.
маштабаванасць
Кластар будзе мець мноства віртуальных камп'ютараў, віртуалізаваных або чыстых. Даданне віртуальнай машыны ў Kubernetes - гэта працаёмкі працэс. Гэта патрабуе ад праграмістаў напісання скрыптоў YAML для яго.
Наадварот, маштабаванне простае з дапамогай OpenShift. З дапамогай даступных праграм усталёўкі і падручнікаў Ansible OpenShift можа хутка наладзіць віртуальныя машыны ў кластары.
Акрамя таго, маштабаванасць у OpenShift - гэта простая працэдура.
Гнуткасць
Паколькі няма пэўнага метаду выкарыстання Kubernetes, ён прапануе вялікую свабоду. Для запуску Kubernetes можна выкарыстоўваць любую аперацыйную сістэму з дадатковымі абмежаваннямі.
З-за сваёй старой прыроды і няздольнасці задаволіць патрабаванні сучаснага рынку састарэлыя архітэктуры былі бар'ерам для многіх прадпрыемстваў.
Пры працы з OpenShift падтрымліваюцца не ўсе аперацыйныя сістэмы. Толькі дыстрыбутывы FedoraOS, CentOS і Red Hat сумяшчальныя з OpenShift.
кіраванне
Першапачаткова вы можаце кіраваць кластарам у Kubernetes з дапамогай прыборнай панэлі па змаўчанні.
Аднак з-за яго абмежаванай функцыянальнасці і мінімальнага карыстальніцкага інтэрфейсу, калі памер кластара расце, вам трэба будзе дадаць больш магутныя інструменты, такія як Istio, Prometheus і Grafana, каб лёгка кіраваць кластарам.
Для адміністравання кластара Red Hat OpenShift забяспечвае зручную прыборную панэль. Вэб-партал OpenShift дазваляе вам выконваць складаныя аперацыі на кластары для лепшага адміністравання.
OpenShift таксама рэкамендуе падключыць кластар да стэка EFK і Istio. Нарэшце, даступныя падручнікі і праграма ўсталёўкі ў OpenShift дапамагаюць у кіраванні кластарам.
разгортванне
Важным этапам DevOps з'яўляецца разгортванне прыкладання ў вытворчасці, і OpenShift робіць гэты працэс даволі простым.
Працэс CICD апрацоўвае ўсё за вас, ад распрацоўкі да разгортвання, таму вам не трэба турбавацца аб выкананні кожнага этапу ўручную.
Вы будзеце адчуваць сябе як дома, калі працуеце з канвеерам CICD для разгортвання прыкладанняў з OpenShift, нават калі вы зусім пачатковец. Каб разгарнуць праграмы OpenShift, выкарыстоўвайце каманду DeploymentConfig.
Аднак укараненне Kubernetes складанае і часта выконваецца выключна спецыялістам.
Кожны этап канвеера для разгортвання прыкладання трэба будзе наладзіць уручную. Разгортванні Kubernetes выкарыстоўваюць аб'екты разгортвання, якія падтрымліваюць мноства адначасовых змяненняў.
бяспекі
У параўнанні з Kubernetes, OpenShift мае больш жорсткія правілы бяспекі. Напрыклад, запуск кантэйнераў ад імя root немагчымы з OpenShift.
Акрамя таго, гэта не дазваляе карыстальнікам выкарыстоўваць многія афіцыйныя выявы на DockerHub. Такім чынам, вы павінны азнаёміцца з палітыкай бяспекі OpenShift перад яго выкарыстаннем.
Аднак гэтыя абмежаванні робяць аўтэнтыфікацыю і аўтарызацыю OpenShift больш надзейнымі, чым Kubernetes.
У той час як у Kubernetes, было б цяжка стварыць адпаведныя ідэнтыфікацыйныя магчымасці і магчымасці дазволу.
Калі інструменты сканавання кантэйнераў не ўключаны ў кластар, у адрозненне ад OpenShift, кластары Kubernetes могуць уключаць вялікую колькасць небяспечных вобразаў Docker.
Тэхналогіі кіравання доступам на аснове роляў (RBAC) даступныя ў Kubernetes, аднак іх недастаткова для высокай ступені бяспекі, неабходнай у вытворчых праграмах.
Такім чынам, Kubernetes яшчэ трэба шмат палепшыць бяспеку ў параўнанні з OpenShift.
заключэнне
Усё гэта датычылася адрозненняў паміж Kubernetes і OpenShift. У ІТ-сектары карыстаюцца попытам абедзве кантэйнерныя платформы аркестроўкі. Такім чынам, вы можаце выбраць платформу аркестроўкі кантэйнераў, якая ідэальна падыходзіць для вашай кампаніі ў залежнасці ад вашых патрэбаў.
Калі вашы праекты патрабуюць гнуткасці, вам варта выкарыстоўваць Kubernetes.
Тым не менш, OpenShift - лепшы варыянт, калі вы можаце прытрымлівацца загадзя вызначанага плана і хочаце выкарыстоўваць платформу для арганізацыі кантэйнераў, якую проста разгортваць і адміністраваць.
І калі вы некаторы час працуеце ў прасторы DevOps, магчыма, вы захочаце паспрабаваць Kubernetes.
Аднак, калі вы пачатковец, выбірайце OpenShift, бо ён зробіць для вас большасць рэчаў даволі простымі.
Цяпер вы выбіраеце Red Hat OpenShift і Kubernetes, таму выбірайце з розумам.
Пакінуць каментар