"Фарқи байни Kubernetes ва OpenShift чист?" — ин савол бо пайгиронаи ҳасаднок ба миён меояд. Гарчанде ки дар асл ин ба саволе монанд аст, ки мошин аз муҳаррик чӣ фарқ дорад. Агар аналогияро давом дихем, пас мошин махсулоти тайёр аст, шумо метавонед онро фавран истифода баред, айнан: ворид шавед ва равед. Аз тарафи дигар, барои он ки муҳаррик шуморо ба ҷое барад, онро аввал бо бисёр чизҳои дигар пурра кардан лозим аст, то ки дар ниҳоят ҳамон мошинро ба даст оред.
Аз ин рӯ, Kubernetes муҳаррикест, ки дар атрофи он мошини бренди OpenShift (платформа) ҷамъ карда мешавад, ки шуморо ба ҳадафи худ мебарад.
Дар ин мақола мо мехоҳем ба шумо хотиррасон кунем ва нуктаҳои асосии зеринро каме муфассалтар баррасӣ кунем:
- Kubernetes қалби платформаи OpenShift аст ва он Kubernetes 100% сертификатсияшуда, манбаи комилан кушода ва бидуни хурдтарин хусусияти хусусӣ мебошад. мухтасар:
- API кластери OpenShift XNUMX% Kubernetes аст.
- Агар контейнер дар ягон системаи дигари Kubernetes кор кунад, он гоҳ дар OpenShift бидуни тағир кор мекунад. Ба замимаҳо тағирот ворид кардан лозим нест.
- OpenShift на танҳо ба Kubernetes хусусиятҳо ва функсияҳои муфид илова мекунад. Мисли мошин, OpenShift аз қуттӣ берун аст, метавонад фавран ба истеҳсолот ворид карда шавад ва тавре ки мо дар зер нишон медиҳем, ҳаёти таҳиягарро хеле осон мекунад. Аз ин рӯ, OpenShift дар ду нафар муттаҳид шудааст. Он ҳам платформаи бомуваффақият ва ҳам маъруфи корхонаи PaaS аз нуқтаи назари таҳиягар аст. Ва дар айни замон, он аз нуқтаи назари амалиёти саноатӣ як ҳалли хеле боэътимоди Container-as-a-Service мебошад.
OpenShift Kubernetes бо 100% сертификатсияи CNCF мебошад
OpenShift ба он асос ёфтааст
Шумо эҳтимол дар бораи утилитаи сатри фармони OpenShift бо номи OC шунидаед. Он бо kubectl фармон комилан мувофиқ аст ва илова бар он якчанд ёварҳои муфидро пешниҳод мекунад, ки ҳангоми иҷрои як қатор вазифаҳо муфид хоҳанд буд. Аммо аввал, каме бештар дар бораи мутобиқати OC ва kubectl:
фармонҳои kubectl
Дастаҳои OC
kubectl даст подшипникҳо
ок ба даст оред
kubectl фазои номҳоро ба даст меорад
oc фазои номҳоро гиред
kubectl эҷод -f deployment.yaml
oc эҷод -f deployment.yaml
Ин аст натиҷаҳои истифодаи kubectl дар OpenShift API чӣ гунаанд:
• kubectl даст pods - бар мегардонад pods мувофиқи интизор.
• kubectl гирифтани номҳо – фазоҳои номҳоро тавре, ки интизор мерафт, бармегардонад.
Фармони kubectl create -f mydeployment.yaml, тавре ки дар видеои зер нишон дода шудааст, захираҳои kubernetes-ро мисли ҳама платформаҳои дигари Kubernetes эҷод мекунад:
Ба ибораи дигар, ҳама API-ҳои Kubernetes дар OpenShift пурра дастрасанд ва 100% мутобиқатро нигоҳ медоранд. Барои ҳамин
OpenShift ба Kubernetes хусусиятҳои муфид илова мекунад
API-ҳои Kubernetes дар OpenShift 100% дастрасанд, аммо утилитаи стандартии Kubernetes kubectl ба таври возеҳ функсия ва роҳатиро надорад. Аз ин рӯ, Red Hat ба Kubernetes хусусиятҳои муфид ва асбобҳои сатри фармонро илова кардааст, ба монанди OC (кӯтоҳ барои муштарии OpenShift) ва ODO (OpenShift DO, ин утилита барои таҳиягарон нигаронида шудааст).
1. Утилитаи OC - версияи тавонотар ва қулайи Kubectl
Масалан, бар хилофи kubectl, он ба шумо имкон медиҳад, ки фазои номҳои нав эҷод кунед ва контекстҳоро ба осонӣ иваз кунед ва инчунин як қатор фармонҳои муфидро барои таҳиягарон пешниҳод мекунад, ба монанди сохтани тасвирҳои контейнерӣ ва ҷойгиркунии барномаҳо мустақиман аз коди сарчашма ё дуӣ (Сарчашма ба тасвир, s2i).
Биёед мисолҳоро дида бароем, ки чӣ тавр ёрдамчиёни дарунсохт ва функсияҳои пешрафтаи утилитаи OC ба содда кардани кори ҳаррӯза кӯмак мекунанд.
Намунаи аввал идоракунии фазои номҳо мебошад. Ҳар як кластери Kubernetes ҳамеша фазои номҳои сершумор дорад. Онҳо одатан барои эҷоди муҳити таҳия ва истеҳсолӣ истифода мешаванд, аммо инчунин метавонанд барои мисол, таъмин кардани ҳар як таҳиякунанда бо қуттии шахсии худ истифода шаванд. Дар амал, ин боиси он мегардад, ки таҳиягар бояд зуд-зуд байни фазоҳои ном гузарад, зеро kubectl дар заминаи фазои ҷорӣ кор мекунад. Аз ин рӯ, дар мавриди kubectl, одамон барои ин скриптҳои ёрирасонро фаъолона истифода мебаранд. Аммо ҳангоми истифодаи OC, барои гузаштан ба фазои дилхоҳ, танҳо "ocspace names project" бигӯед.
Дар хотир надоред, ки фазои номе, ки ба шумо лозим аст, чӣ ном дорад? Мушкил нест, танҳо барои намоиш додани рӯйхати пурраи "oc get projects" нависед. Тааҷҷубовар аст, ки ин чӣ гуна кор хоҳад кард, агар шумо танҳо ба маҷмӯи маҳдуди фазоҳои номҳо дар кластер дастрасӣ дошта бошед? Хуб, зеро kubectl ин корро танҳо дуруст мекунад, агар RBAC ба шумо имкон диҳад, ки ҳамаи ҷойҳоро дар кластер бубинед ва дар кластерҳои калон на ба ҳама чунин иҷозат дода мешавад. Ҳамин тавр, мо ҷавоб медиҳем: барои OC ин ҳеҷ мушкиле нест ва он дар чунин вазъият ба осонӣ рӯйхати пурраро таҳия мекунад. Маҳз ин чизҳои хурде ҳастанд, ки самти корпоративии Openshift ва миқёспазирии хуби ин платформаро аз ҷиҳати корбарон ва барномаҳо ташкил медиҳанд.
2. ODO - версияи такмилёфтаи kubectl барои таҳиягарон
Мисоли дигари такмили Red Hat OpenShift нисбат ба Kubernetes ин утилитаи сатри фармони ODO мебошад. Он барои таҳиягарон тарҳрезӣ шудааст ва ба шумо имкон медиҳад, ки рамзи маҳаллиро дар кластери дурдасти OpenShift зуд ҷойгир кунед. Он инчунин метавонад равандҳои дохилиро осон кунад, то ҳама тағиротҳои кодро ба контейнерҳо дар кластери дурдасти OpenShift бидуни аз нав сохтан, сабти ном ва ҷойгиркунии тасвирҳо фавран ҳамоҳанг созад.
Биёед бубинем, ки чӣ тавр OC ва ODO кор бо контейнерҳо ва Кубернетҳоро осонтар мекунанд.
Танҳо якчанд ҷараёни корро муқоиса кунед, вақте ки онҳо дар асоси kubectl сохта шудаанд ва вақте ки OC ё ODO истифода мешаванд.
• Ҷойгиркунии код дар OpenShift барои онҳое, ки YAML-ро намедонанд:
Kubernetes/kubectl
$>git клон
1- Dockerfile эҷод кунед, ки тасвирро аз код месозад
-----
АЗ гиреҳ
WORKDIR /usr/src/app
Нусхаи бастаи*.json ./
COPY index.js ./
Нусха кунед ./app ./app
RUN npm насб кунед
ФОШ 3000
CMD [ “npm”, “start”] ————–
2- Мо тасвирро месозем
$>подман сохта...
3- Ба реестр ворид шавед
подман ворид шавед...
4- Тасвирро дар реестр ҷойгир кунед
подман пахш кунед
5- Барои ҷойгиркунии барнома файлҳои yaml эҷод кунед (deployment.yaml, service.yaml, ingress.yaml) - ин ҳадди ақали мутлақ аст
6- Файлҳои манифестро ҷойгир кунед:
Kubectl муроҷиат кунед -f .
OpenShift/oc
$> oc нав-барнома
OpenShift/odo
$>git клон
$> odo компоненти nodejs myapp эҷод кунед
$>odo пахш кунед
• Гузариш контекст: тағир додани фазои номи корӣ ё кластери корӣ.
Kubernetes/kubectl
1- Барои лоиҳаи "myproject" дар kubeconfig контекст эҷод кунед
2- kubectl маҷмӯи контекст…
OpenShift/oc
oc лоиҳаи "лоиҳаи ман"
Назорати сифат: “Як хусусияти ҷолиб дар ин ҷо пайдо шуд, ки ҳанӯз дар версияи алфа. Шояд мо онро дар истехсолот чорй кунем?».
Тасаввур кунед, ки дар мошини пойга нишастан ва гуфтанд: «Мо навъи нави тормоз насб кардем ва росташро гӯям, эътимоднокии онҳо ҳанӯз дуруст нест... Аммо хавотир нашавед, мо дар рафти курс онҳоро фаъолона такмил медиҳем. чемпионат». Ин дурнамо ба шумо чӣ гуна маъқул аст? Мо дар Red Hat то андозае хушбахт нестем. 🙂
Аз ин рӯ, мо кӯшиш мекунем, ки версияҳои алфаро то он даме, ки онҳо ба қадри кофӣ баркамол нашаванд, нигоҳ дорем ва мо санҷиши ҳамаҷонибаи ҷангро анҷом додем ва эҳсос мекунем, ки истифодаи онҳо бехатар аст. Одатан, ҳама чиз аввал аз марҳилаи пешнамоиши Dev мегузарад, баъд аз он
Барои чӣ ин? Зеро, ба монанди таҳияи ҳама гуна нармафзори дигар, на ҳама ғояҳои ибтидоӣ дар Kubernetes ба нашри ниҳоӣ мерасанд. Ё онҳо ба он мерасанд ва ҳатто функсияҳои пешбинишударо нигоҳ медоранд, аммо татбиқи онҳо аз версияи алфа ба куллӣ фарқ мекунад. Бо ҳазорон ҳазор муштариёни Red Hat барои дастгирии сарбории кори муҳими OpenShift, мо ба устувории платформаи худ ва дастгирии дарозмуддат диққати махсус медиҳем.
Red Hat ӯҳдадор аст, ки OpenShift-ро зуд-зуд озод кунад ва версияи Kubernetes-ро, ки бо он меояд, навсозӣ кунад. Масалан, версияи кунунии GA-и OpenShift 4.3 дар замони ин навиштан Kubernetes 1.16-ро дар бар мегирад, ки танҳо як воҳиди паси версияи болоии Kubernetes бо рақами 1.17 аст. Ҳамин тариқ, мо кӯшиш мекунем, ки муштариро бо Kubernetes-синфи корхона таъмин кунем ва ҳангоми баровардани версияҳои нави OpenShift назорати иловагии сифатро таъмин кунем.
Ислоҳи нармафзор: “Дар версияи Kubernetes, ки мо дар истеҳсол дорем, сӯрохе мавҷуд буд. Ва шумо метавонед онро танҳо бо навсозии се версияи боло пӯшед. Ё ягон вариант вуҷуд дорад?
Дар лоиҳаи кушодаи Kubernetes, ислоҳи нармафзор одатан ҳамчун як қисми нашри навбатӣ бароварда мешавад, ки баъзан як ё ду релизҳои қаблиро фаро мегирад ва фарогирии камтар аз 6 моҳро бармегардонад.
Red Hat фахр мекунад, ки ислоҳи муҳимро нисбат ба дигарон барвақттар мебарорад ва барои муддати тӯлонӣ дастгирӣ мекунад. Барои мисол осебпазирии густариши имтиёзҳои Kubernetes (
Дар навбати худ,
Чӣ гуна OpenShift ва Red Hat Kubernetes-ро пеш мебаранд
Red Hat дуюмин бузургтарин саҳмгузори нармафзор дар лоиҳаи манбаи кушодаи Kubernetes пас аз танҳо Google мебошад, ки 3 нафар аз 5 таҳиягарони пурмаҳсул аз Red Hat мебошанд. Боз як далели кам маълум: бисёр вазифаҳои муҳим дар Кубернетес маҳз бо ташаббуси Red Hat пайдо шуданд, аз ҷумла:
- RBAC. Kubernetes функсияҳои RBAC (ClusterRole, ClusterRoleBinding) надошт, то он даме, ки муҳандисони Red Hat тасмим гирифтанд, ки онҳоро ҳамчун як ҷузъи худи платформа амалӣ кунанд, на ҳамчун функсияи иловагии OpenShift. Оё Red Hat аз такмил додани Kubernetes метарсад? Албатта не, зеро Red Hat ба таври қатъӣ принсипҳои кушодаасосро риоя мекунад ва бозиҳои Open Core -ро бозӣ намекунад. Такмилҳо ва навовариҳое, ки аз ҷониби ҷомеаҳои рушд ба вуҷуд меоянд, на аз ҷониби моликият, қобили ҳаётанд ва васеътар қабул карда мешаванд, ки бо ҳадафи асосии мо - муфидтар кардани нармафзори кушодаасос барои муштариёни мо мувофиқат мекунанд.
- Сиёсати амниятӣ барои pods (Pod Policies Security). Ин консепсияи ба таври бехатар иҷро кардани барномаҳо дар дохили подкҳо дар аввал дар OpenShift бо номи SCC (Маҳдудиятҳои контексти амният) амалӣ карда шуда буд. Ва чун дар мисоли қаблӣ, Red Hat тасмим гирифт, ки ин таҳаввулотро ба лоиҳаи Кубернетес ҷорӣ кунад, то ҳама аз онҳо истифода баранд.
Ин силсилаи мисолҳоро метавон идома дод, аммо мо танҳо мехостем нишон диҳем, ки Red Hat воқеан барои таҳияи Kubernetes ва беҳтар кардани он барои ҳама омода аст.
Маълум аст, ки OpenShift Kubernetes аст. Фарқиятҳо чист? 🙂
Мо умедворем, ки бо хондани ин ҷо шумо дарк кардед, ки Kubernetes ҷузъи асосии OpenShift аст. Асосӣ, аммо дур аз ягона. Ба ибораи дигар, танҳо насб кардани Kubernetes ба шумо платформаи дараҷаи корхона намедиҳад. Ба шумо лозим меояд, ки аутентификатсия, шабакасозӣ, амният, мониторинг, идоракунии гузоришҳо ва ғайраро илова кунед. Илова бар ин, ба шумо лозим меояд, ки аз шумораи зиёди асбобҳои дастрас якчанд интихоби душвор гузоред (барои қадр кардани гуногунии экосистема, танҳо як назар андозед.
Аммо дар мавриди OpenShift, Red Hat ҳамаи ин мураккабиро ба дӯши худ мегирад ва ба шумо танҳо як платформаи функсионалии мукаммал медиҳад, ки на танҳо худи Кубернетес, балки тамоми маҷмӯи абзорҳои зарурии кушодаасосро дар бар мегирад, ки Kubernetes-ро ба як синфи воқеии корхона табдил медиҳанд. хале, ки шумо фавран ва комилан оромона ба истехсолот чорй карда метавонед. Ва албатта, агар шумо якчанд стекҳои технологии худро дошта бошед, пас шумо метавонед OpenShift-ро ба ҳалли мавҷуда ворид кунед.
Ба расми боло нигаред: ҳама чизе, ки берун аз росткунҷаи Кубернетес аст, он ҷоест, ки Red Hat функсияҳоеро илова мекунад, ки Кубернетес, тавре ки мегӯянд, тарроҳӣ надорад. Ва ҳоло мо ба самтҳои асосии ин соҳаҳо назар мекунем.
1. OS мустаҳкам ҳамчун асос: RHEL CoreOS ё RHEL
Red Hat дар тӯли зиёда аз 20 сол як провайдери пешбари дистрибутивҳои Linux барои барномаҳои муҳими тиҷоратӣ мебошад. Таҷрибаи ҷамъшуда ва пайваста навшавандаи мо дар ин соҳа ба мо имкон медиҳад, ки барои коркарди саноатии контейнерҳо заминаи воқеан боэътимод ва боэътимод пешниҳод кунем. RHEL CoreOS як ядрои RHEL-ро истифода мебарад, аммо пеш аз ҳама барои вазифаҳо, ба монанди идора кардани контейнерҳо ва идора кардани кластерҳои Kubernetes оптимизатсия карда шудааст: андозаи кам ва тағирнопазирии он насб кардани кластерҳо, миқёси автоматӣ, ҷойгиркунии часпакҳо ва ғайраро осон мекунад. Ҳамаи ин хусусиятҳо онро мегардонанд. заминаи беҳтарин барои расонидани як таҷрибаи корбар бо OpenShift дар доираи васеи муҳитҳои компютерӣ, аз металли урён то абрҳои хусусӣ ва ҷамъиятӣ.
2. Автоматикунонии амалиёти IT
Автоматикунонии равандҳои насбкунӣ ва амалиёти рӯзи 4 (яъне амалиёти ҳаррӯза) нуқтаи қавии OpenShift мебошад, ки идора, навсозӣ ва нигоҳ доштани кори платформаи контейнериро дар сатҳи баландтарин осонтар мекунад. Ин тавассути дастгирии операторони Kubernetes дар сатҳи ядрои OpenShift XNUMX ба даст оварда мешавад.
OpenShift 4 инчунин як экосистемаи пурраи қарорҳо дар асоси операторҳои Kubernetes мебошад, ки ҳам аз ҷониби худи Red Hat ва ҳам шарикони сеюм таҳия шудаанд (ниг.
Каталоги ҳамгирошудаи OpenShift 4 зиёда аз 180 операторони Kubernetes-ро дар бар мегирад
3. Воситаҳои таҳиякунанда
Аз соли 2011, OpenShift ҳамчун платформаи PaaS (Platform-as-a-Service) дастрас аст, ки ҳаёти таҳиягаронро хеле осон мекунад, ба онҳо диққати худро ба рамзгузорӣ медиҳад ва дастгирии модарии забонҳои барномасозиро ба монанди Java, Node.js пешниҳод мекунад. , PHP, Ruby, Python, Go, инчунин CI/CD ҳамгироӣ ва хидматрасонии доимӣ, пойгоҳи додаҳо ва ғайра. OpenShift 4 пешниҳод мекунад.
Баръакси Kubernetes, OpenShift 4 дорои GUI махсус (
Илова бар ин, OpenShift маҷмӯи асбобҳои таҳияи Codeready -ро пешниҳод мекунад, ки аз ҷумла, дар бар мегиранд
Интегратсияшудаи IDE ҳамчун хидмат барои рушди муассир дар платформаи Kubernetes/OpenShift
OpenShift як системаи мукаммали CI/CD-ро аз қуттӣ пешниҳод мекунад, ё дар асоси контейнери Ҷенкинс ва плагин
4. Воситаҳои барномавӣ
OpenShift ба шумо имкон медиҳад, ки ҳам замимаҳои анъанавии давлатӣ ва ҳам қарорҳои абрӣ дар асоси меъмории нав, ба монанди хидматрасонии хурд ё бе сервер ҷойгир кунед. Ҳалли OpenShift Service Mesh аз қуттӣ бо асбобҳои калидӣ барои нигоҳдории микросервисҳо ба монанди Istio, Kiali ва Jaeger меояд. Дар навбати худ, ҳалли OpenShift Serverless на танҳо Knative, балки асбобҳоеро ба мисли Keda, ки дар доираи ташаббуси муштарак бо Microsoft барои таъмини функсияҳои Azure дар платформаи OpenShift сохта шудааст, дар бар мегирад.
Ҳалли ҳамгирошудаи OpenShift ServiceMesh (Istio, Kiali, Jaeger) ҳангоми таҳияи хидматҳои хурд муфид хоҳад буд.
Барои бартараф кардани фосила байни замимаҳои кӯҳна ва контейнерҳо, OpenShift ҳоло имкон медиҳад, ки интиқоли мошини маҷозӣ ба платформаи OpenShift бо истифода аз Virtualization Container Native (ҳоло дар TechPreview) имкон медиҳад, ки замимаҳои гибридӣ ба воқеият табдил ёбад ва муҳоҷирати онҳоро байни абрҳои гуногун, ҳам хусусӣ ва ҳам ҷамъиятӣ осон кунад.
Мошини виртуалии Windows 2019 дар OpenShift тавассути Virtualization Container Native кор мекунад (ҳоло дар версияи пешнамоиши техникӣ)
5. Воситаҳо барои кластерҳо
Ҳар як платформаи сатҳи корпоративӣ бояд хидматҳои мониторинг ва мутамаркази сабти ном, механизмҳои амниятӣ, аутентификатсия ва иҷозат ва абзорҳои идоракунии шабака дошта бошад. Ва OpenShift ҳамаи инро аз қуттӣ таъмин мекунад ва он ҳама 100% манбаи кушода аст, аз ҷумла ҳалли монанди ElasticSearch, Prometheus, Grafana. Ҳамаи ин қарорҳо бо панелҳои идоракунӣ, ченакҳо ва огоҳиҳо мавҷуданд, ки аллакай бо истифода аз таҷрибаи густурдаи мониторинги кластери Red Hat сохта ва танзим карда шудаанд, ки ба шумо имкон медиҳанд, ки муҳити истеҳсолии худро аз аввал самаранок назорат ва назорат кунед.
OpenShift инчунин бо чунин чизҳои муҳим барои муштариёни корпоративӣ стандартӣ меояд, аз қабили аутентификатсия бо провайдери дарунсохташуда, ҳамгироӣ бо провайдерҳои эътимоднома, аз ҷумла LDAP, ActiveDirectory, OpenID Connect ва ғайра.
Панели пешакӣ танзимшудаи Grafana барои мониторинги кластери OpenShift
Зиёда аз 150 метрика ва огоҳиҳои пешакӣ танзимшудаи Prometheus барои мониторинги кластери OpenShift
Идома дода шавад
Функсияҳои ғании ҳалли масъала ва таҷрибаи ғании Red Hat дар соҳаи Kubernetes сабабҳои ба даст овардани мавқеи бартаридоштаи OpenShift дар бозор, тавре ки дар расми зер нишон дода шудааст (бештар хонед)
“Айни замон Red Hat бо 44% ҳиссаи бозор пешсаф аст.
Ширкат бартариҳои стратегияи фурӯш ба муштариёнро ба даст меорад, ки дар он аввал ба таҳиягарони корхона машварат ва таълим медиҳад ва сипас ба монетизатсия мегузарад, зеро корхона ба ҷойгиркунии контейнерҳо дар истеҳсолот шурӯъ мекунад."
(Сарчашма:
Умедворем, ки ин мақола ба шумо маъқул шуд. Дар мақолаҳои оянда дар ин силсила, мо бартариҳои OpenShift нисбат ба Кубернетесро дар ҳар як категорияи дар ин ҷо муҳокимашуда дида бароем.
Манбаъ: will.com