"X'inhi d-differenza bejn Kubernetes u OpenShift?" – din il-mistoqsija tqum b'konsistenza enviable. Għalkemm fil-verità dan huwa bħal li tistaqsi kif karozza hija differenti minn magna. Jekk inkomplu bl-analoġija, allura karozza hija prodott lest, tista 'tużaha minnufih, litteralment: idħol u mur. Min-naħa l-oħra, sabiex magna tieħu xi mkien, l-ewwel trid tiġi supplimentata b'ħafna affarijiet oħra sabiex fl-aħħar mill-aħħar tikseb l-istess karozza.
Għalhekk, Kubernetes hija l-magna li madwarha tinġabar il-karozza (pjattaforma) tad-ditta OpenShift, li tieħdok għall-mira tiegħek.
F'dan l-artikolu rridu nfakkruk u neżaminaw il-punti ewlenin li ġejjin fi ftit aktar dettall:
- Kubernetes huwa l-qalba tal-pjattaforma OpenShift u huwa 100% Kubernetes iċċertifikat, sors kompletament miftuħ u mingħajr l-iċken natura proprjetarja. Fil-qosor:
- L-API tal-cluster OpenShift hija XNUMX% Kubernetes.
- Jekk il-kontenitur jaħdem fuq kwalunkwe sistema Kubernetes oħra, allura jaħdem fuq OpenShift mingħajr ebda tibdil. M'hemmx bżonn li jsiru bidliet fl-applikazzjonijiet.
- OpenShift mhux biss iżid karatteristiċi u funzjonalità utli għal Kubernetes. Bħal karozza, OpenShift huwa barra mill-kaxxa, jista 'jiddaħħal fil-produzzjoni immedjatament, u, kif ser nuru hawn taħt, jagħmel il-ħajja ta' żviluppatur ħafna aktar faċli. Huwa għalhekk li OpenShift huwa magħqud f'żewġ persuni. Hija kemm pjattaforma PaaS ta 'klassi ta' intrapriża ta 'suċċess kif ukoll magħrufa sew mill-perspettiva ta' żviluppatur. U fl-istess ħin, hija soluzzjoni Super-affidabbli Container-as-a-Service mil-lat ta 'operazzjoni industrijali.
OpenShift huwa Kubernetes b'100% ċertifikazzjoni CNCF
OpenShift huwa bbażat fuq
Probabilment smajt dwar l-utilità tal-linja tal-kmand ta 'OpenShift imsejħa OC. Huwa kompletament kmand kompatibbli ma 'kubectl, flimkien ma' joffri diversi helpers utli li jkunu utli meta jwettqu numru ta 'kompiti. Imma l-ewwel, ftit aktar dwar il-kompatibilità ta 'OC u kubectl:
jikkmanda kubectl
Timijiet OC
kubectl nikseb imżiewed
oc tikseb imżiewed
kubectl tikseb namespaces
oc tikseb namespaces
kubectl toħloq -f deployment.yaml
oc toħloq -f deployment.yaml
Hawn kif jidhru r-riżultati tal-użu ta' kubectl fuq l-API OpenShift:
• kubectl get pods – jirritorna l-imżiewed kif mistenni.
• kubectl get namespaces – jirritorna namespaces kif mistenni.
Il-kmand kubectl create -f mydeployment.yaml joħloq riżorsi kubernetes bħal fuq kwalunkwe pjattaforma Kubernetes oħra, kif muri fil-video hawn taħt:
Fi kliem ieħor, l-APIs kollha ta 'Kubernetes huma kompletament disponibbli f'OpenShift filwaqt li tinżamm kompatibilità ta' 100%. Għalhekk
OpenShift iżid karatteristiċi utli għal Kubernetes
Kubernetes APIs huma 100% disponibbli f'OpenShift, iżda l-utilità standard Kubernetes kubectl hija nieqsa mill-funzjonalità u l-konvenjenza. Huwa għalhekk li Red Hat żied karatteristiċi utli u għodod tal-linja tal-kmand għal Kubernetes, bħal OC (qosor għal klijent OpenShift) u ODO (OpenShift DO, din l-utilità hija mmirata għall-iżviluppaturi).
1. Utilità OC - verżjoni aktar qawwija u konvenjenti ta 'Kubectl
Pereżempju, b'differenza għal kubectl, jippermettilek toħloq spazji tal-isem ġodda u taqleb faċilment kuntesti, u toffri wkoll għadd ta' kmandi utli għall-iżviluppaturi, bħall-bini ta' stampi ta' kontenituri u l-iskjerament ta' applikazzjonijiet direttament minn kodiċi sors jew binarji (Source to image, s2i).
Ejja nħarsu lejn eżempji ta 'kif il-helpers integrati u l-funzjonalità avvanzata tal-utilità OC jgħinu biex jissimplifikaw ix-xogħol ta' kuljum.
L-ewwel eżempju huwa l-ġestjoni tal-ispazji tal-isem. Kull cluster Kubernetes dejjem għandu spazji tal-isem multipli. Normalment jintużaw biex joħolqu ambjenti ta 'żvilupp u produzzjoni, iżda jistgħu jintużaw ukoll biex, pereżempju, jipprovdu lil kull żviluppatur b'sandbox personali. Fil-prattika, dan jirriżulta li l-iżviluppatur ikollu spiss jaqleb bejn namespaces, peress li kubectl jaħdem fil-kuntest tal-ispazju attwali. Għalhekk, fil-każ ta 'kubectl, in-nies jużaw b'mod attiv skripts helper għal dan. Imma meta tuża OC, biex taqleb għall-ispazju mixtieq, għid biss "oc project namespace".
Ma tiftakarx kif jissejjaħ l-ispazju tal-isem li għandek bżonn? Ebda problema, ittajpja biss "oc get projects" biex turi l-lista sħiħa. Xettiku jistaqsi kif dan se jaħdem jekk ikollok aċċess biss għal subsett limitat ta' namespaces fuq il-cluster? Ukoll, minħabba li kubectl jagħmel dan b'mod korrett biss jekk RBAC jippermettilek tara l-ispazji kollha fuq il-cluster, u fi gruppi kbar mhux kulħadd jingħata tali permessi. Allura, aħna nwieġbu: għall-OC din mhi problema xejn u faċilment se tipproduċi lista sħiħa f'sitwazzjoni bħal din. Huma dawn l-affarijiet żgħar li jiffurmaw l-orjentazzjoni korporattiva ta 'Openshift u l-iskalabbiltà tajba ta' din il-pjattaforma f'termini ta 'utenti u applikazzjonijiet
2. ODO - verżjoni mtejba ta 'kubectl għall-iżviluppaturi
Eżempju ieħor tat-titjib tar-Red Hat OpenShift fuq Kubernetes huwa l-utilità tal-linja tal-kmand ODO. Hija mfassla għall-iżviluppaturi u tippermettilek tiskjera malajr kodiċi lokali għal cluster OpenShift remot. Tista' wkoll tissimplifika l-proċessi interni biex tissinkronizza istantanjament il-bidliet kollha tal-kodiċi għal kontenituri fuq cluster OpenShift remot mingħajr ma jkollu għalfejn jerġa' jibni, jirreġistra u jerġa' jqassam immaġini.
Ejja nħarsu lejn kif OC u ODO jagħmlu x-xogħol ma 'kontenituri u Kubernetes aktar faċli.
Qabbel ftit flussi tax-xogħol meta jinbnew fuq il-bażi ta 'kubectl, u meta jintużaw OC jew ODO.
• Skjerament ta' kodiċi fuq OpenShift għal dawk li ma jitkellmux YAML:
Kubernetes/kubectl
$> git klonu
1- Oħloq Dockerfile li jibni l-immaġni mill-kodiċi
-----
MINN nodu
WORKDIR /usr/src/app
KOPJA pakkett*.json ./
KOPJA index.js ./
KOPJA ./app ./app
RUN npm install
JESPONI 3000
CMD [ “npm”, “bidu” ] ————–
2- Nibnu l-immaġni
$>podman build...
3- Idħol fir-reġistru
login podman...
4- Poġġi l-immaġni fir-reġistru
podman push
5- Oħloq fajls yaml għall-iskjerament tal-applikazzjoni (deployment.yaml, service.yaml, ingress.yaml) - dan huwa l-minimu assolut
6- Uża fajls manifest:
Kubectl japplikaw -f .
OpenShift/oc
$> oc new-app
OpenShift/odo
$> git klonu
$> odo joħolqu komponent nodejs myapp
$>odo push
• Swiċċ tal-kuntest: ibdel l-ispazju tal-isem tax-xogħol jew il-grupp tax-xogħol.
Kubernetes/kubectl
1- Oħloq kuntest f'kubeconfig għall-proġett "myproject"
2- kubectl sett-context...
OpenShift/oc
proġett oc "il-proġett tiegħi"
Kontroll tal-kwalità: “Hawn dehret karatteristika waħda interessanti, għadha fil-verżjoni alpha. Forsi nistgħu npoġġuha fil-produzzjoni?”
Immaġina li tkun bilqiegħda f’karozza tat-tlielaq u qalulhom: “Installajna tip ġdid ta’ brejkijiet u, biex inkun onest, l-affidabbiltà tagħhom għadha mhix tajba... Imma tinkwetax, ser intejbuhom b’mod attiv matul il-korsa. tal-kampjonat.” Kif tħobb dan il-prospett? Aħna ta 'Red Hat b'xi mod mhux kuntenti ħafna. 🙂
Għalhekk, nippruvaw inżommu l-verżjonijiet alpha sakemm ikunu maturi biżżejjed u għamilna ttestjar tal-battalja bir-reqqa u nħossu li huma sikuri biex jintużaw. Normalment, kollox jgħaddi mill-istadju Dev Preview l-ewwel, imbagħad permezz
Għalfejn? Minħabba li, bħal fl-iżvilupp ta 'kwalunkwe softwer ieħor, mhux l-ideat inizjali kollha f'Kubernetes jaslu għar-rilaxx finali. Jew jilħquha u saħansitra jżommu l-funzjonalità maħsuba, iżda l-implimentazzjoni tagħhom hija radikalment differenti minn dik fil-verżjoni alpha. B'eluf u eluf ta' klijenti ta' Red Hat li jużaw OpenShift biex jappoġġaw xogħolijiet kritiċi għall-missjoni, aħna nagħmlu enfasi speċjali fuq l-istabbiltà tal-pjattaforma tagħna u l-appoġġ fit-tul.
Red Hat hija impenjata li tirrilaxxa OpenShift ta' spiss u taġġorna l-verżjoni ta' Kubernetes li tiġi magħha. Pereżempju, ir-rilaxx attwali tal-GA ta 'OpenShift 4.3 fil-ħin ta' din il-kitba jinkludi Kubernetes 1.16, li hija biss unità waħda wara l-verżjoni upstream ta 'Kubernetes numerata 1.17. Għalhekk, qed nippruvaw nipprovdu lill-klijent Kubernetes ta 'klassi intrapriża u nipprovdu kontroll tal-kwalità addizzjonali waqt ir-rilaxx ta' verżjonijiet ġodda ta 'OpenShift.
Soluzzjonijiet tas-softwer: “Kien hemm toqba fil-verżjoni ta’ Kubernetes li għandna fil-produzzjoni. U tista' tagħlaqha biss billi taġġorna tliet verżjonijiet 'il fuq. Jew hemm xi għażliet?
Fil-proġett ta 'sors miftuħ ta' Kubernetes, is-soluzzjonijiet tas-softwer huma ġeneralment rilaxxati bħala parti mir-rilaxx li jmiss, xi drabi jkopru rilaxx ta 'tragward wieħed jew tnejn preċedenti, u jagħtu kopertura lura mill-inqas 6 xhur.
Red Hat jiftaħar li tirrilaxxa soluzzjonijiet kritiċi aktar kmieni minn oħrajn u li tipprovdi appoġġ għal ħafna itwal. Ħu pereżempju l-vulnerabbiltà tal-eskalazzjoni tal-privileġġ ta' Kubernetes (
Min-naħa tagħhom,
Kif OpenShift u Red Hat qed imexxu 'l quddiem Kubernetes
Red Hat huwa t-tieni l-akbar kontributur tas-softwer għall-proġett ta’ Kubernetes open source, wara Google biss, bi 3 mill-5 żviluppaturi l-aktar prolifiki ġejjin minn Red Hat. Fatt ieħor mhux magħruf: ħafna funzjonijiet kritiċi dehru f'Kubernetes preċiżament fuq l-inizjattiva ta 'Red Hat, b'mod partikolari, bħal:
- RBAC. Kubernetes ma kellux funzjonijiet RBAC (ClusterRole, ClusterRoleBinding) sakemm l-inġiniera ta’ Red Hat iddeċidew li jimplimentawhom bħala parti mill-pjattaforma nnifisha, u mhux bħala funzjonalità addizzjonali ta’ OpenShift. Red Hat jibża' jtejjeb Kubernetes? Naturalment le, minħabba li Red Hat issegwi strettament il-prinċipji tas-sors miftuħ u ma jilgħabx logħob Open Core. Titjib u innovazzjonijiet li huma mmexxija minn komunitajiet ta 'żvilupp, aktar milli dawk proprjetarji, huma aktar vijabbli u adottati b'mod aktar wiesa', li jallinja sew mal-għan ewlieni tagħna li nagħmlu s-softwer open source aktar utli għall-klijenti tagħna.
- Politiki ta' Sigurtà għall-miżwed (Pod Security Policies). Dan il-kunċett ta’ tmexxija ta’ applikazzjonijiet b’mod sigur ġewwa l-imżiewed kien oriġinarjament implimentat f’OpenShift taħt l-isem SCC (Security Context Constraints). U bħal fl-eżempju preċedenti, Red Hat iddeċieda li jintroduċi dawn l-iżviluppi fil-proġett miftuħ Kubernetes sabiex kulħadd ikun jista’ jużahom.
Din is-serje ta 'eżempji tista' titkompla, iżda ridna biss nuru li Red Hat hija verament impenjata li tiżviluppa Kubernetes u tagħmilha aħjar għal kulħadd.
Huwa ċar li OpenShift huwa Kubernetes. X'inhuma d-differenzi? 🙂
Nittamaw li billi taqra s'issa int indunajt li Kubernetes huwa l-komponent ewlieni ta' OpenShift. Il-prinċipali, iżda 'l bogħod mill-unika waħda. Fi kliem ieħor, sempliċiment l-installazzjoni ta 'Kubernetes mhux se tagħtik pjattaforma ta' klassi ta 'intrapriża. Ikollok bżonn iżżid l-awtentikazzjoni, in-netwerking, is-sigurtà, il-monitoraġġ, il-ġestjoni tal-logs, u aktar. Barra minn hekk, ikollok tagħmel xi għażliet iebsa min-numru kbir ta’ għodod disponibbli (biex tapprezza d-diversità tal-ekosistema, agħti ħarsa biss
Iżda fil-każ ta’ OpenShift, Red Hat jieħu dawn il-kumplessitajiet kollha fuqu nnifsu u sempliċiment jagħtik pjattaforma funzjonalment kompluta, li tinkludi mhux biss Kubernetes innifsu, iżda wkoll is-sett kollu ta’ għodod ta’ sors miftuħ meħtieġ li jibdlu Kubernetes fi klassi ta’ intrapriża reali. soluzzjoni li tista 'tniedi immedjatament u kompletament bil-kalma fil-produzzjoni. U ovvjament, jekk għandek xi wħud mill-munzell tat-teknoloġija tiegħek stess, allura tista 'tintegra OpenShift f'soluzzjonijiet eżistenti.
Agħti ħarsa lejn l-istampa ta 'hawn fuq: dak kollu li huwa barra r-rettangolu ta' Kubernetes huwa fejn Red Hat iżid funzjonalità li Kubernetes m'għandux, kif jgħidu, mid-disinn. U issa se nħarsu lejn il-prinċipali ta 'dawn l-oqsma.
1. OS robust bħala bażi: RHEL CoreOS jew RHEL
Red Hat ilu fornitur ewlieni ta' distribuzzjonijiet tal-Linux għal applikazzjonijiet kritiċi għan-negozju għal aktar minn 20 sena. L-esperjenza akkumulata u kontinwament aġġornata tagħna f'dan il-qasam tippermettilna noffru bażi tassew affidabbli u ta 'fiduċja għall-operat industrijali tal-kontenituri. RHEL CoreOS juża l-istess qalba bħal RHEL, iżda huwa ottimizzat primarjament għal ħidmiet bħat-tmexxija ta' kontenituri u t-tħaddim ta' clusters Kubernetes: id-daqs imnaqqas u l-immutabilità tiegħu jagħmluha aktar faċli biex jiġu stabbiliti clusters, autoscaling, skjerament ta' garżi, eċċ. Dawn il-karatteristiċi kollha jagħmluha aktar faċli. pedament ideali biex tingħata l-istess esperjenza tal-utent b'OpenShift f'firxa wiesgħa ta' ambjenti tal-kompjuters, minn bare metal għal cloud privat u pubbliku.
2. Awtomazzjoni tal-operazzjonijiet tal-IT
L-awtomazzjoni tal-proċessi ta 'installazzjoni u l-operazzjonijiet ta' jum-4 (jiġifieri, operazzjonijiet ta 'kuljum) hija l-punt b'saħħtu ta' OpenShift, li tagħmilha ħafna aktar faċli biex tamministra, taġġorna u żżomm il-prestazzjoni tal-pjattaforma tal-kontejners fl-ogħla livell. Dan jinkiseb permezz ta 'appoġġ għall-operaturi Kubernetes fil-livell tal-kernel OpenShift XNUMX.
OpenShift 4 huwa wkoll ekosistema sħiħa ta’ soluzzjonijiet ibbażati fuq operaturi Kubernetes, żviluppati kemm minn Red Hat innifsu kif ukoll minn sħab terzi (ara.
Il-katalgu integrat OpenShift 4 jinkludi aktar minn 180 operatur Kubernetes
3. Għodod tal-Iżviluppatur
Mill-2011, OpenShift ilu disponibbli bħala pjattaforma PaaS (Platform-as-a-Service) li tagħmel il-ħajja ħafna eħfef għall-iżviluppaturi, tgħinhom jiffokaw fuq il-kodifikazzjoni, u toffri appoġġ nattiv għal lingwi ta' programmar bħal Java, Node.js. , PHP, Ruby, Python, Go, kif ukoll servizzi ta' integrazzjoni u kunsinna kontinwa CI/CD, databases, eċċ. Offerti OpenShift 4
B'differenza minn Kubernetes, OpenShift 4 għandu GUI ddedikat (
Barra minn hekk, OpenShift joffri sett ta 'għodod ta' żvilupp Codeready, li, b'mod partikolari, jinkludi
IDE integrat bħala servizz għal żvilupp effiċjenti fuq il-pjattaforma Kubernetes/OpenShift
OpenShift joffri sistema CI/CD sħiħa dritt barra mill-kaxxa, jew ibbażata fuq Jenkins fil-kontejners u plugin
4. Applikazzjoni Għodda
OpenShift jippermettilek li tuża kemm applikazzjonijiet tradizzjonali stateful kif ukoll soluzzjonijiet ibbażati fuq cloud bbażati fuq arkitetturi ġodda, bħal mikroservizzi jew serverless. Is-soluzzjoni OpenShift Service Mesh toħroġ mill-ewwel b'għodod ewlenin għaż-żamma tal-mikroservizzi, bħal Istio, Kiali u Jaeger. Min-naħa tagħha, is-soluzzjoni OpenShift Serverless tinkludi mhux biss Knative, iżda wkoll għodod bħal Keda maħluqa bħala parti minn inizjattiva konġunta ma 'Microsoft biex jipprovdu funzjonijiet Azure fuq il-pjattaforma OpenShift.
Is-soluzzjoni integrata OpenShift ServiceMesh (Istio, Kiali, Jaeger) se tkun utli meta jiġu żviluppati mikroservizzi
Biex tnaqqas id-distakk bejn l-applikazzjonijiet tal-wirt u l-kontenituri, OpenShift issa jippermetti l-migrazzjoni tal-magni virtwali lejn il-pjattaforma OpenShift billi tuża Container Native Virtualization (bħalissa f'TechPreview), tagħmel l-applikazzjonijiet ibridi realtà u tiffaċilita l-migrazzjoni tagħhom bejn sħab differenti, kemm privati kif ukoll pubbliċi.
Windows 2019 Magna virtwali virtwali li taħdem fuq OpenShift permezz ta' Container Native Virtualization (bħalissa fil-verżjoni Tech preview)
5. Għodod għall-clusters
Kwalunkwe pjattaforma ta 'klassi ta' intrapriża għandu jkollha servizzi ta 'monitoraġġ u illoggjar ċentralizzati, mekkaniżmi ta' sigurtà, awtentikazzjoni u awtorizzazzjoni, u għodod ta 'ġestjoni tan-netwerk. U OpenShift jipprovdi dan kollu barra mill-kaxxa, u huwa kollu 100% open source, inklużi soluzzjonijiet bħal ElasticSearch, Prometheus, Grafana. Dawn is-soluzzjonijiet kollha jiġu b'dashboards, metriċi, u twissijiet li huma diġà mibnija u kkonfigurati bl-użu tal-kompetenza estensiva ta 'monitoraġġ tal-clusters ta' Red Hat, li jippermettulek tikkontrolla u timmonitorja b'mod effettiv l-ambjent tal-produzzjoni tiegħek mill-bidu nett.
OpenShift jiġi wkoll standard b'affarijiet importanti bħal dawn għall-klijenti korporattivi bħall-awtentikazzjoni ma' fornitur tal-oauth inkorporat, integrazzjoni mal-fornituri tal-kredenzjali, inklużi LDAP, ActiveDirectory, OpenID Connect, u ħafna aktar.
Dashboard Grafana kkonfigurat minn qabel għall-monitoraġġ tal-clusters OpenShift
Aktar minn 150 metrika u twissijiet Prometheus ikkonfigurati minn qabel għall-monitoraġġ tal-clusters OpenShift
Biex titkompla
Il-funzjonalità rikka tas-soluzzjoni u l-esperjenza estensiva ta’ Red Hat fil-qasam tal-Kubernetes huma r-raġunijiet għaliex OpenShift kiseb pożizzjoni dominanti fis-suq, kif muri fil-figura hawn taħt (aqra aktar
“Red Hat bħalissa qed imexxi s-suq b’sehem ta’ 44%.
Il-kumpanija qed taħsad il-benefiċċji tal-istrateġija tal-bejgħ tagħha ċċentrata fuq il-klijent, fejn l-ewwel tikkonsulta u tħarreġ lill-iżviluppaturi tal-intrapriżi u mbagħad timxi għall-monetizzazzjoni hekk kif l-intrapriża tibda tuża kontenituri fil-produzzjoni.
(Sors:
Nittamaw li ħadu gost dan l-artiklu. F'postijiet futuri f'din is-serje, ser nagħtu ħarsa aktar mill-qrib lejn il-vantaġġi ta 'OpenShift fuq Kubernetes f'kull waħda mill-kategoriji diskussi hawn.
Sors: www.habr.com