OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti

„Hver ​​er munurinn á Kubernetes og OpenShift? – þessi spurning vaknar með öfundsverðri samkvæmni. Þó að þetta sé í raun og veru eins og að spyrja hvernig bíll er frábrugðinn vél. Ef við höldum líkingunni áfram, þá er bíll fullunnin vara, þú getur notað hann strax, bókstaflega: farðu inn og farðu. Á hinn bóginn, til þess að vél fari með þig eitthvað, verður fyrst að bæta við fullt af öðrum hlutum til að fá á endanum sama bílinn.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti

Þess vegna er Kubernetes vélin sem OpenShift vörumerkið bíll (pallur) er settur í kringum, sem tekur þig að markmiði þínu.

Í þessari grein viljum við minna þig á og skoða eftirfarandi lykilatriði aðeins nánar:

  • Kubernetes er hjarta OpenShift vettvangsins og það er 100% vottað Kubernetes, algjörlega opinn uppspretta og án minnsta einkaréttar. Í stuttu máli:
    • OpenShift cluster API er XNUMX% Kubernetes.
    • Ef gámurinn keyrir á einhverju öðru Kubernetes kerfi, þá mun hann keyra á OpenShift án nokkurra breytinga. Ekki þarf að gera breytingar á umsóknum.
  • OpenShift bætir ekki aðeins gagnlegum eiginleikum og virkni við Kubernetes. Eins og bíll er OpenShift úr kassanum, hægt að setja það í framleiðslu strax og, eins og við munum sýna hér að neðan, gerir það líf þróunaraðila miklu auðveldara. Þess vegna er OpenShift sameinuð í tvo einstaklinga. Það er bæði farsæll og vel þekktur PaaS vettvangur í fyrirtækjaflokki frá sjónarhóli þróunaraðila. Og á sama tíma er þetta ofuráreiðanleg gáma-sem-þjónusta lausn frá sjónarhóli iðnaðarrekstrar.

OpenShift er Kubernetes með 100% CNCF vottun

OpenShift er byggt á Kubernetes vottað. Þess vegna, eftir rétta þjálfun, eru notendur undrandi yfir krafti kubectl. Og þeir sem skiptu yfir í OpenShift úr Kubernetes Cluster segja oft hversu mikið þeim líkar við það eftir að hafa vísað kubeconfig yfir í OpenShift þyrpinguna, öll núverandi forskriftir virka gallalaust.

Þú hefur líklega heyrt um OpenShift skipanalínuforritið sem heitir OC. Það er fullkomlega stjórnsamhæft við kubectl, auk þess sem það býður upp á nokkra gagnlega hjálpara sem munu koma sér vel þegar þú framkvæmir fjölda verkefna. En fyrst, aðeins meira um samhæfni OC og kubectl:

kubectl skipanir
OC liðin

kubectl fá belg
oc fá belg

kubectl fá nafnarými
oc fá nafnarými

kubectl búa til -f deployment.yaml
oc skapa -f deployment.yaml

Svona líta niðurstöður notkunar kubectl á OpenShift API út:

• kubectl fá belg – skilar belg eins og búist var við.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti

• kubectl fá nafnarými – skilar nafnasvæðum eins og búist var við.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Skipunin kubectl create -f mydeployment.yaml býr til kubernetes auðlindir eins og á öðrum Kubernetes vettvangi, eins og sýnt er í myndbandinu hér að neðan:


Með öðrum orðum, öll Kubernetes API eru að fullu fáanleg í OpenShift en viðhalda 100% eindrægni. Þess vegna OpenShift er viðurkennt sem löggiltur Kubernetes vettvangur af Cloud Native Computing Foundation (CNCF). 

OpenShift bætir gagnlegum eiginleikum við Kubernetes

Kubernetes API eru 100% fáanleg í OpenShift, en staðlaða Kubernetes tólið kubectl skortir greinilega virkni og þægindi. Þess vegna hefur Red Hat bætt gagnlegum eiginleikum og skipanalínuverkfærum við Kubernetes, eins og OC (stutt fyrir OpenShift client) og ODO (OpenShift DO, þetta tól er ætlað forriturum).

1. OC gagnsemi - öflugri og þægilegri útgáfa af Kubectl

Til dæmis, ólíkt kubectl, gerir það þér kleift að búa til ný nafnrými og skipta auðveldlega um samhengi, og býður einnig upp á fjölda gagnlegra skipana fyrir þróunaraðila, svo sem að byggja gámamyndir og dreifa forritum beint úr frumkóða eða tvöfaldur (Source-to-image, s2i).

Við skulum skoða dæmi um hvernig innbyggðu hjálpartækin og háþróuð virkni OC tólsins hjálpa til við að einfalda daglega vinnu.

Fyrsta dæmið er nafnrýmisstjórnun. Hver Kubernetes þyrping hefur alltaf mörg nafnrými. Þeir eru venjulega notaðir til að búa til þróunar- og framleiðsluumhverfi, en einnig er hægt að nota þau til að til dæmis útvega hverjum forritara persónulegan sandkassa. Í reynd leiðir þetta til þess að verktaki þarf oft að skipta á milli nafnarúma, þar sem kubectl keyrir í samhengi við núverandi rými. Þess vegna, þegar um kubectl er að ræða, notar fólk virkan hjálparforskriftir fyrir þetta. En þegar þú notar OC, til að skipta yfir í viðkomandi rými, segðu bara „oc project namespace“.

Manstu ekki hvað nafnrýmið sem þú þarft heitir? Ekkert mál, skrifaðu bara „oc get projects“ til að birta allan listann. Efasemdarmaður að velta því fyrir sér hvernig þetta muni virka ef þú hefur aðeins aðgang að takmörkuðu undirmengi nafna í þyrpingunni? Jæja, vegna þess að kubectl gerir þetta bara rétt ef RBAC leyfir þér að sjá öll rýmin á þyrpingunni, og í stórum klösum fá ekki allir slíkar heimildir. Svo við svörum: fyrir OC er þetta alls ekki vandamál og það mun auðveldlega framleiða heilan lista við slíkar aðstæður. Það eru þessir litlu hlutir sem mynda fyrirtækjastefnu Openshift og góða sveigjanleika þessa vettvangs hvað varðar notendur og forrit

2. ODO - endurbætt útgáfa af kubectl fyrir forritara

Annað dæmi um endurbætur Red Hat OpenShift yfir Kubernetes er ODO skipanalínuforritið. Það er hannað fyrir forritara og gerir þér kleift að dreifa staðbundnum kóða fljótt á ytri OpenShift þyrping. Það getur líka hagrætt innri ferlum til að samstilla allar kóðabreytingar samstundis við gáma á ytri OpenShift þyrpingu án þess að þurfa að endurbyggja, skrá og endurdreifa myndum.

Við skulum skoða hvernig OC og ODO auðvelda vinnu með gáma og Kubernetes.

Berðu bara saman nokkur verkflæði þegar þau eru byggð á grundvelli kubectl og þegar OC eða ODO eru notuð.

• Dreifing kóða á OpenShift fyrir þá sem ekki tala YAML:

Kubernetes/kubectl
$>git klón github.com/sclorg/nodejs-ex.git
1- Búðu til Dockerfile sem byggir myndina úr kóða
-----
FRÁ hnút
WORKDIR /usr/src/app
COPY pakki*.json ./
COPY index.js ./
AFRITA ./app ./app
RUN npm uppsetningu
FYRIR 3000
CMD [ „npm“, „byrja“ ] ————–
2- Við byggjum myndina
$>podman smíða...
3- Skráðu þig inn á skrána
Podman innskráning...
4- Settu myndina í skrásetninguna
podman ýta
5- Búðu til yaml skrár fyrir dreifingu forrita (deployment.yaml, service.yaml, ingress.yaml) - þetta er algjört lágmark
6- Dreifðu upplýsingaskrám:
Kubectl gilda -f .

OpenShift/oc
$> oc ný-app github.com/sclorg/nodejs-ex.git – okkar_application_name

OpenShift/odo
$>git klón github.com/sclorg/nodejs-ex.git
$> odo búa til hluti nodejs myapp
$>odo ýta

• Samhengisrofi: breyta vinnunafnarými eða vinnuklasa.

Kubernetes/kubectl
1- Búðu til samhengi í kubeconfig fyrir verkefnið „myproject“
2- kubectl sett-samhengi...

OpenShift/oc
oc verkefnið „myproject“

Gæðaeftirlit: „Einn áhugaverður eiginleiki hefur birst hér, enn í alfa útgáfu. Kannski getum við sett það í framleiðslu?“

Ímyndaðu þér að setjast í kappakstursbíl og fá að vita: „Við höfum sett upp nýja gerð af bremsum og satt best að segja er áreiðanleiki þeirra ekki í lagi ennþá... En ekki hafa áhyggjur, við munum bæta þær á námskeiðinu. meistaramótsins." Hvernig líst þér á þessa möguleika? Við hjá Red Hat erum einhvern veginn ekki mjög ánægð. 🙂

Þess vegna reynum við að bíða með alfa útgáfur þar til þær eru orðnar nægilega þroskaðar og við höfum gert ítarlegar bardagaprófanir og finnst þær öruggar í notkun. Venjulega fer allt í gegnum Dev Preview stigið fyrst, síðan í gegnum Forskoðun tækni og kemur fyrst þá út sem opinber útgáfa Almennt framboð (GA), sem er nú þegar svo stöðugt að það hentar til framleiðslu.

Afhverju er það? Vegna þess að, eins og með þróun hvers annars hugbúnaðar, ná ekki allar frumhugmyndir í Kubernetes lokaútgáfunni. Eða þeir ná því og halda jafnvel fyrirhugaðri virkni, en útfærsla þeirra er gjörólík því sem er í alfa útgáfunni. Með þúsundir á þúsundir Red Hat viðskiptavina sem nota OpenShift til að styðja við verkefni sem er mikilvægt vinnuálag, leggjum við sérstaka áherslu á stöðugleika vettvangsins okkar og langtímastuðning.

Red Hat hefur skuldbundið sig til að gefa OpenShift oft út og uppfæra útgáfuna af Kubernetes sem fylgir því. Til dæmis inniheldur núverandi GA útgáfa af OpenShift 4.3 þegar þetta er skrifað Kubernetes 1.16, sem er aðeins ein eining á eftir andstreymisútgáfu Kubernetes með númer 1.17. Þannig erum við að reyna að veita viðskiptavinum Kubernetes í fyrirtækjaflokki og veita viðbótargæðaeftirlit meðan á útgáfu nýrra útgáfur af OpenShift stendur.

Hugbúnaðarleiðréttingar: „Það var gat í útgáfunni af Kubernetes sem við erum með í framleiðslu. Og þú getur aðeins lokað því með því að uppfæra þrjár útgáfur. Eða eru einhverjir möguleikar?

Í Kubernetes opnum uppsprettu verkefninu eru hugbúnaðarleiðréttingar venjulega gefnar út sem hluti af næstu útgáfu, stundum ná yfir eina eða tvær fyrri tímamótaútgáfur, sem gefur umfjöllun allt að 6 mánuði til baka.

Red Hat leggur metnað sinn í að gefa út mikilvægar lagfæringar fyrr en aðrar og veita stuðning mun lengur. Tökum sem dæmi Kubernetes svigrúm til að auka forréttindi (CVE-2018-1002105): það var uppgötvað í Kubernetes 1.11 og lagfæringar fyrir fyrri útgáfur voru aðeins gefnar út upp að útgáfu 1.10.11, sem skildi þessa eftir í holunni í öllum fyrri Kubernetes útgáfum, frá 1.x til 1.9.

Aftur á móti, Red Hat lagfærði OpenShift aftur í útgáfu 3.2 (Kubernetes 1.2 er til), fangar níu OpenShift útgáfur og sýnir greinilega umhyggju fyrir viðskiptavinum (nánari upplýsingar hér).

Hvernig OpenShift og Red Hat koma Kubernetes áfram

Red Hat er annar stærsti hugbúnaðarframlag til Kubernetes verkefnisins, á eftir aðeins Google, með 3 af 5 afkastamestu hönnuðum sem koma frá Red Hat. Önnur lítt þekkt staðreynd: margar mikilvægar aðgerðir birtust í Kubernetes einmitt að frumkvæði Red Hat, sérstaklega, svo sem:

  • RBAC. Kubernetes hafði ekki RBAC aðgerðir (ClusterRole, ClusterRoleBinding) fyrr en Red Hat verkfræðingar ákváðu að innleiða þær sem hluta af pallinum sjálfum, en ekki sem viðbótar OpenShift virkni. Er Red Hat hræddur við að bæta Kubernetes? Auðvitað ekki, vegna þess að Red Hat fylgir algjörlega opnum reglum og spilar ekki Open Core leiki. Umbætur og nýjungar sem eru knúnar áfram af þróunarsamfélögum, frekar en séreignarsamfélögum, eru hagkvæmari og almennt notaðar, sem samræmist vel meginmarkmiði okkar um að gera opinn hugbúnað gagnlegri fyrir viðskiptavini okkar.
  • Öryggisreglur fyrir belg (Pod Security Policies). Þessi hugmynd að keyra forrit á öruggan hátt inni í belgjum var upphaflega útfærð í OpenShift undir nafninu SCC (Security Context Constraints). Og eins og í fyrra dæminu ákvað Red Hat að kynna þessa þróun inn í opna Kubernetes verkefnið svo allir gætu notað þær.

Hægt væri að halda áfram með þessa röð dæma, en við vildum bara sýna að Red Hat er virkilega staðráðinn í að þróa Kubernetes og gera það betra fyrir alla.

Það er ljóst að OpenShift er Kubernetes. Hver er munurinn? 🙂

Við vonum að með því að lesa þetta langt hafirðu áttað þig á því að Kubernetes er kjarnahluti OpenShift. Sú helsta, en langt frá því að vera sú eina. Með öðrum orðum, einfaldlega að setja upp Kubernetes mun ekki gefa þér vettvang fyrir fyrirtæki. Þú þarft að bæta við auðkenningu, netkerfi, öryggi, eftirliti, annálastjórnun og fleira. Auk þess verður þú að taka erfiðar ákvarðanir úr fjölda tækja sem til eru (til að meta fjölbreytileika vistkerfisins skaltu bara skoða CNCF töflu) og tryggja einhvern veginn samræmi og samræmi þannig að þau virki sem eitt. Að auki þarftu reglulega að framkvæma uppfærslur og aðhvarfsprófanir í hvert skipti sem ný útgáfa af einhverjum af þeim íhlutum sem þú notar er gefin út. Það er, auk þess að búa til og viðhalda pallinum sjálfum, þá þarftu líka að takast á við allan þennan hugbúnað. Ólíklegt er að mikill tími verði eftir til að leysa viðskiptavandamál og ná samkeppnisforskotum.

En þegar um OpenShift er að ræða, tekur Red Hat alla þessa margbreytileika á sig og gefur þér einfaldlega fullkominn vettvang sem inniheldur ekki aðeins Kubernetes sjálft, heldur einnig allt safn nauðsynlegra opinna tækja sem breyta Kubernetes í alvöru fyrirtækjaflokk. lausn sem þú getur strax og alveg rólega sett í framleiðslu. Og auðvitað, ef þú ert með þína eigin tæknistafla, þá geturðu samþætt OpenShift í núverandi lausnir.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
OpenShift er snjall Kubernetes vettvangur

Skoðaðu myndina hér að ofan: allt sem er utan Kubernetes rétthyrningsins er þar sem Red Hat bætir við virkni sem Kubernetes hefur ekki, eins og þeir segja, aukahönnun. Og nú munum við líta á helstu þessara svæða.

1. Sterkt stýrikerfi sem grunnur: RHEL CoreOS eða RHEL

Red Hat hefur í meira en 20 ár verið leiðandi í Linux dreifingum fyrir viðskipti mikilvæg forrit. Uppsöfnuð og stöðugt uppfærð reynsla okkar á þessu sviði gerir okkur kleift að bjóða upp á sannarlega áreiðanlegan og traustan grunn fyrir iðnaðarrekstur gáma. RHEL CoreOS notar sama kjarna og RHEL, en er fínstillt fyrst og fremst fyrir verkefni eins og að keyra gáma og keyra Kubernetes klasa: Minni stærð og óbreytanleiki gerir það auðveldara að setja upp klasa, sjálfvirka skala, dreifa plástra o.s.frv. kjörinn grunnur til að skila sömu notendaupplifun með OpenShift í margs konar tölvuumhverfi, allt frá berum málmi til einka- og almenningsskýja.

2. Sjálfvirkni upplýsingatæknireksturs

Sjálfvirkni uppsetningarferla og dag-4 aðgerða (þ.e. daglegs reksturs) er sterka hlið OpenShift, sem gerir það mun auðveldara að stjórna, uppfæra og viðhalda afköstum gámavettvangsins á hæsta stigi. Þetta er náð með stuðningi við Kubernetes rekstraraðila á OpenShift XNUMX kjarnastigi.

OpenShift 4 er líka heilt vistkerfi lausna byggðar á Kubernetes rekstraraðilum, þróaðar bæði af Red Hat sjálfu og af þriðja aðila samstarfsaðilum (sjá. símaskrá símafyrirtækisins Red Hat, eða rekstraraðila verslun operatorhub.io, búin til af Red Hat fyrir þriðja aðila forritara).

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Innbyggður OpenShift 4 vörulisti inniheldur meira en 180 Kubernetes rekstraraðila

3. Verkfæri þróunaraðila

Síðan 2011 hefur OpenShift verið fáanlegt sem PaaS (Platform-as-a-Service) vettvangur sem gerir lífið mun auðveldara fyrir forritara, hjálpar þeim að einbeita sér að kóðun og býður upp á innfæddan stuðning fyrir forritunarmál eins og Java, Node.js , PHP, Ruby, Python, Go, auk CI/CD samþættingar og afhendingarþjónustu, gagnagrunna osfrv. OpenShift 4 býður upp á víðtæka vörulista, sem inniheldur meira en 100 þjónustur byggðar á Kubernetes rekstraraðilum þróaðar af Red Hat og samstarfsaðilum okkar.

Ólíkt Kubernetes hefur OpenShift 4 sérstakt GUI (Þróunartölva), sem hjálpar forriturum áreynslulaust að dreifa forritum frá ýmsum aðilum (git, ytri skrám, Dockerfile, o.s.frv.) í nafnarými þeirra og sjá skýrt fyrir sér tengslin milli forritaíhluta.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Þróunarborðið veitir skýra sýn á íhluti forrita og gerir það auðvelt að vinna með Kubernetes

Að auki býður OpenShift upp á sett af Codeready þróunarverkfærum, sem einkum inniheldur Codeready vinnusvæði, fullkomlega gámaskipt IDE með vefviðmóti sem keyrir beint ofan á OpenShift og útfærir IDE-sem-a-þjónustu nálgun. Á hinn bóginn, fyrir þá sem vilja vinna stranglega í staðbundnum ham, er Codeready Containers, fullvirk útgáfa af OpenShift 4 sem hægt er að nota á fartölvu.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Innbyggt IDE sem þjónusta fyrir skilvirka þróun á Kubernetes/OpenShift pallinum

OpenShift býður upp á fullt CI/CD kerfi beint úr kassanum, annað hvort byggt á gámasettum Jenkins og viðbót DSL til að vinna með leiðslur, eða Kubernetes-stillt CI/CD kerfi Tekton (eins og er í Tech forskoðunarútgáfu). Báðar þessar lausnir samþættast að fullu OpenShift stjórnborðinu, sem gerir þér kleift að keyra leiðslukveikjur, skoða dreifingar, annála og fleira.

4. Umsóknarverkfæri

OpenShift gerir þér kleift að dreifa bæði hefðbundnum staðbundnum forritum og skýjalausnum byggðum á nýjum arkitektúrum, svo sem örþjónustu eða netþjónalausum. OpenShift Service Mesh lausnin kemur beint úr kassanum með lykilverkfærum til að viðhalda örþjónustum, eins og Istio, Kiali og Jaeger. Aftur á móti inniheldur OpenShift Serverless lausnin ekki aðeins Knative, heldur einnig verkfæri eins og Keda búin til sem hluti af sameiginlegu frumkvæði með Microsoft til að útvega Azure aðgerðir á OpenShift pallinum.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Samþætta lausnin OpenShift ServiceMesh (Istio, Kiali, Jaeger) mun nýtast vel við þróun örþjónustu

Til að brúa bilið á milli eldri forrita og gáma, leyfir OpenShift nú flutning sýndarvéla yfir á OpenShift vettvang með því að nota Container Native Virtualization (nú í TechPreview), sem gerir blendingaforrit að veruleika og auðveldar flutning þeirra á milli mismunandi skýja, bæði einka og almennings.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Windows 2019 sýndarvél sem keyrir á OpenShift í gegnum Container Native Virtualization (nú í tækniforskoðunarútgáfu)

5. Verkfæri fyrir klasa

Sérhver vettvangur í fyrirtækisflokki verður að hafa vöktunar- og miðlæga skógarhöggsþjónustu, öryggiskerfi, auðkenningu og heimild og netstjórnunartæki. Og OpenShift útvegar þetta allt út úr kassanum og það er allt 100% opinn uppspretta, þar á meðal lausnir eins og ElasticSearch, Prometheus, Grafana. Allar þessar lausnir koma með mælaborðum, mæligildum og viðvörunum sem eru þegar smíðaðar og stilltar með víðtækri sérfræðiþekkingu Red Hat klasaeftirlits, sem gerir þér kleift að stjórna og fylgjast með framleiðsluumhverfi þínu strax í upphafi.

OpenShift er einnig staðalbúnaður með svo mikilvægum hlutum fyrir fyrirtækjaviðskiptavini eins og auðkenningu með innbyggðum oauth-veitu, samþættingu við skilríkisveitur, þar á meðal LDAP, ActiveDirectory, OpenID Connect og margt fleira.

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Forstillt Grafana mælaborð fyrir OpenShift klasa eftirlit

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
Yfir 150 forstilltar Prometheus mælingar og viðvaranir fyrir eftirlit með OpenShift klasa

Til að halda áfram

Rík virkni lausnarinnar og mikil reynsla Red Hat á sviði Kubernetes eru ástæður þess að OpenShift hefur náð yfirburðastöðu á markaðnum eins og sést á myndinni hér að neðan (lesa meira hér).

OpenShift sem fyrirtækjaútgáfa af Kubernetes. 1. hluti
„Red Hat er leiðandi á markaðnum eins og er með 44% hlutdeild.
Fyrirtækið er að uppskera ávinninginn af viðskiptavinamiðaðri sölustefnu sinni, þar sem það hefur fyrst samráð og þjálfar þróunaraðila fyrirtækja og fer síðan yfir í tekjuöflun þegar fyrirtækið byrjar að setja gáma í framleiðslu.

(Heimild: www.lightreading.com/nfv/containers/ihs-red-hat-container-strategy-is-paying-off/d/d-id/753863)

Við vonum að þú hafir notið þessarar greinar. Í framtíðarfærslum í þessari röð munum við skoða nánar kosti OpenShift yfir Kubernetes í hverjum flokki sem fjallað er um hér.

Heimild: www.habr.com

Bæta við athugasemd