Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Scríobhadh an post seo toisc go raibh go leor comhráite ag ár bhfostaithe le cliaint maidir le forbairt feidhmchláir ar Kubernetes agus sonraí na forbartha sin ar OpenShift.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

De ghnáth tosaímid leis an tráchtas nach bhfuil Kubernetes ach Kubernetes, agus tá OpenShift ina ardán Kubernetes cheana féin, cosúil le Microsoft AKS nó Amazon EKS. Tá a buntáistí féin ag gach ceann de na hardáin seo, atá dírithe ar spriocghrúpa ar leith. Agus ina dhiaidh seo, téann an comhrá chun comparáid a dhéanamh idir láidreachtaí agus laigí ardáin ar leith.

Go ginearálta, smaoiníomar ar an bpost seo a scríobh le conclúid ar nós “Éist, is cuma cén áit ar cheart an cód a rith, ar OpenShift nó ar AKS, ar EKS, ar roinnt Kubernetes saincheaptha, nó ar cibé Kubernetes (Ar mhaithe le gort, tugaimid KUK air) “Tá sé an-simplí, ansiúd agus ansiúd.”

Ansin bheartaíomar an “Dia duit an Domhain” is simplí a thógáil agus a shampla a úsáid chun a thaispeáint cad atá coitianta agus cad é an difríocht idir an KUC agus an Red Hat OpenShift Platform Coimeádán (dá ngairfear anseo feasta, OCP nó go simplí OpenShift).

Mar sin féin, agus an post seo á scríobh againn, thuig muid go raibh muid chomh cleachta le húsáid OpenShift chomh fada sin nár thuig muid go simplí conas a d'fhás sé agus a d'iompaigh sé ina ardán iontach a bhí i bhfad níos mó ná dáileadh Kubernetes amháin. Is gnách linn aibíocht agus simplíocht OpenShift a ghlacadh mar bheart, agus gan radharc a fháil ar a ghile.

Go ginearálta, tá an t-am tagtha le haghaidh aithrí gníomhach, agus anois déanfaimid comparáid céim ar chéim le coimisiúnú ár “Dia duit Domhanda” ar KUK agus ar OpenShift, agus déanfaimid é seo chomh hoibiachtúil agus is féidir (bhuel, ach amháin trí uaireanta a thaispeáint a dearcadh pearsanta ar an ábhar). Má tá suim agat i dtuairim suibiachtúla amháin ar an gceist seo, ansin is féidir leat é a léamh anseo (GA). Agus sa phost seo beidh muid ag cloí leis na fíricí agus gan ach na fíricí.

Cnuasaigh

Mar sin, tá braislí de dhíth ar ár “Dia duit Domhanda”. Deirimis “ní hea” láithreach le haon scamaill phoiblí, ionas nach n-íocfaimid as freastalaithe, clárlanna, líonraí, aistriú sonraí, etc. Dá réir sin, roghnaímid braisle aon-nód simplí ar Miniciúb (do KUK) agus Gabhdáin Réidh Cód (do bhraisle OpenShift). Is furasta an dá rogha seo a shuiteáil, ach beidh go leor acmhainní ag teastáil uathu ar do ríomhaire glúine.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Tionól ar KUK-e

Mar sin, déanaimis dul.

Céim 1 - ag tógáil ár n-íomhá coimeádán

Cuirimis tús lenár “Dia duit Domhanda” a imscaradh chuig minikube. Chun seo a dhéanamh beidh ort:

  1. 1. Docker suiteáilte.
  2. 2. Git suiteáilte.
  3. 3. Suiteáilte Maven (i ndáiríre, úsáideann an tionscadal seo an dénártha mvnw, ionas gur féidir leat a dhéanamh gan é).
  4. 4. I ndáiríre, an fhoinse féin, i.e. clón stór github.com/gcolman/quarkus-hello-world.git

Is é an chéad chéim ná tionscadal Quarkus a chruthú. Ná bíodh faitíos ort murar oibrigh tú riamh le Quarkus.io - tá sé éasca. Ní roghnaíonn tú ach na comhpháirteanna is mian leat a úsáid sa tionscadal (RestEasy, Hibernate, Amazon SQS, Camel, etc.), agus ansin Quarkus féin, gan aon cheann de do rannpháirtíocht, a chumrú an maven archetype agus cuireann sé gach rud ar github. Is é sin, go litriúil cliceáil amháin ar an luch agus tá tú críochnaithe. Sin é an fáth go bhfuil grá againn do Quarkus.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Is é an bealach is éasca chun ár “Dia duit Domhanda” a thógáil isteach i gcoimeádán ná na síntí quarkus-maven do Docker a úsáid, a dhéanfaidh an obair riachtanach ar fad. Le teacht Quarkus, tá sé seo i ndáiríre éasca agus simplí: cuir an síneadh coimeádán-image-docker agus is féidir leat íomhánna a chruthú ag baint úsáide as orduithe maven.

./mvnw quarkus:add-extension -Dextensions=”container-image-docker”

Ar deireadh, tógann muid ár n-íomhá ag baint úsáide as Maven. Mar thoradh air sin, iompaíonn ár gcód foinse ina íomhá coimeádán réamhdhéanta is féidir a reáchtáil cheana féin i dtimpeallacht rite an choimeádáin.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

./mvnw -X clean package -Dquarkus.container-image.build=true

Sin é go léir, anois is féidir leat an coimeádán a thosú leis an ordú reáchtáil docker, ag mapáil ár seirbhís chuig calafort 8080 ionas gur féidir é a rochtain.

docker run -i — rm -p 8080:8080 gcolman/quarkus-hello-world

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Tar éis tús a chur le cás an choimeádáin, níl fágtha ach seiceáil leis an ordú curl go bhfuil ár seirbhís ar siúl:

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Mar sin oibríonn gach rud agus bhí sé i ndáiríre éasca agus simplí.

Céim 2 - cuir ár gcoimeádán chuig stór íomhá an choimeádáin

Go dtí seo, stóráiltear an íomhá a chruthaigh muid go háitiúil, inár stóráil coimeádán áitiúil. Más mian linn an íomhá seo a úsáid inár dtimpeallacht COOK, ní mór é a chur i stór eile. Níl gnéithe den sórt sin ag Kubernetes, mar sin úsáidfimid dockerhub. Toisc, ar an gcéad dul síos, tá sé saor in aisce, agus sa dara háit, (beagnach) déanann gach duine é.

Tá sé seo an-simplí freisin, agus níl uait ach cuntas dockerhub.

Mar sin, déanaimid dockerhub a shuiteáil agus cuirimid ár n-íomhá ann.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Céim 3 - seoladh Kubernetes

Tá go leor bealaí ann chun an chumraíocht kubernetes a chur le chéile chun ár “Dia duit Domhanda” a reáchtáil, ach úsáidfimid an ceann is simplí acu, sin an bealach ina bhfuilimid ...

Ar dtús, déanaimis an bhraisle mionkube a sheoladh:

minikube start

Céim 4 - imscaradh ár n-íomhá coimeádán

Anois caithfimid ár gcód agus ár n-íomhá coimeádáin a thiontú ina bhfoirmíochtaí kubernetes. I bhfocail eile, ní mór dúinn sainmhíniú pod agus imscaradh a dhíríonn ar ár n-íomhá coimeádán ar dockerhub. Ceann de na bealaí is éasca chun é seo a dhéanamh ná an t-ordú imlonnaithe cruthaigh a rith ag díriú ar ár n-íomhá:

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

kubectl create deployment hello-quarkus — image =gcolman/quarkus-hello-world:1.0.0-SNAPSHOT

Leis an ordú seo dúirt muid lenár COO cumraíocht imlonnaithe a chruthú, ina mbeadh an tsonraíocht pod le haghaidh ár n-íomhá coimeádán. Cuirfidh an t-ordú seo an chumraíocht seo i bhfeidhm freisin ar ár mbraisle mionkube, agus cruthóidh sé imscaradh a íoslódálfaidh ár n-íomhá coimeádán agus a sheolfaidh an pod sa bhraisle.

Céim 5 – rochtain oscailte ar ár seirbhís

Anois go bhfuil íomhá coimeádán imlonnaithe againn, tá sé in am smaoineamh ar conas rochtain sheachtrach ar an tseirbhís Restful seo a chumrú, atá, i ndáiríre, cláraithe inár gcód.

Tá go leor bealaí anseo. Mar shampla, is féidir leat an t-ordú nochta a úsáid chun na comhpháirteanna Kubernetes cuí a chruthú go huathoibríoch, mar shampla seirbhísí agus críochphointí. I ndáiríre, is é seo a dhéanfaimid tríd an ordú nochta a fhorghníomhú dár réad imscartha:

kubectl expose deployment hello-quarkus — type=NodePort — port=8080

Glacaimis nóiméad le breathnú ar an rogha "-type" den ordú nochta.

Nuair a nochtaimid agus nuair a chruthaímid na comhpháirteanna atá riachtanach chun ár seirbhís a rith, ní mór dúinn, i measc rudaí eile, a bheith in ann nascadh ón taobh amuigh leis an tseirbhís hello-quarkus, atá laistigh dár líonra atá sainithe ag bogearraí. Agus paraiméadar cineál ligeann sé dúinn rudaí cosúil le cothromóirí ualaigh a chruthú agus a nascadh le trácht a sheoladh chuig an líonra seo.

Mar shampla, trí scríobh type=Cothromóir Luchtaithe, soláthraímid cothromaíocht ualaigh go huathoibríoch sa scamall poiblí chun nascadh lenár mbraisle Kubernetes. Tá sé seo, ar ndóigh, iontach, ach ní mór duit a thuiscint go mbeidh cumraíocht den sórt sin ceangailte go docht le scamall poiblí ar leith agus beidh sé níos deacra aistriú idir cásanna Kubernetes i dtimpeallachtaí éagsúla.

In ár sampla cineál=NodePort, is é sin, tá rochtain ar ár seirbhís ag seoladh IP an nód agus uimhir phoirt. Ligeann an rogha seo duit gan aon scamaill phoiblí a úsáid, ach éilíonn sé roinnt céimeanna breise. Ar an gcéad dul síos, tá do chothromóir ualaigh féin ag teastáil uait, mar sin déanfaimid an t-iarmhéid ualaigh NGINX a imscaradh inár mbraisle.

Céim 6 - Suiteáil cothromóir ualaigh

Tá roinnt feidhmeanna ardáin ag minikube a fhágann go bhfuil sé níos éasca comhpháirteanna a bhfuil rochtain sheachtrach orthu a chruthú, mar rialaitheoirí dul isteach. Tagann Minikube cuachta le rialtóir ingress Nginx, agus níl le déanamh againn ach é a chumasú agus é a chumrú.

minikube addons enable ingress

Anois cruthóimid rialtóir ingress Nginx le hordú amháin, a oibreoidh taobh istigh dár mbraisle mionkube:

ingress-nginx-controller-69ccf5d9d8-j5gs9 1/1 Running 1 33m

Céim 7 – Ingress a shocrú

Anois ní mór dúinn an rialtóir ingress Nginx a chumrú ionas go nglacann sé le hiarratais hello-quarkus.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Agus ar deireadh, ní mór dúinn an chumraíocht seo a chur i bhfeidhm.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

kubectl apply -f ingress.yml

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Ós rud é go bhfuil sé seo go léir á dhéanamh againn ar ár ríomhaire féin, ní dhéanaimid ach seoladh IP ár nód a chur leis an gcomhad / etc/ hosts chun iarratais http a sheoladh chuig ár minikube chuig an iarmhéid ualaigh NGINX.

192.168.99.100 hello-quarkus.info

Sin é, anois tá ár seirbhís minikube inrochtana go seachtrach trí rialtóir ingress Nginx.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Bhuel, bhí sé sin éasca, ceart? Nó nach bhfuil i ndáiríre?

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Ag rith ar OpenShift (Coimeádáin Réidh le Cóid)

Anois, déanaimis a fheiceáil conas a dhéantar é seo go léir ar an Red Hat OpenShift Container Platform (OCP).

Mar is amhlaidh le minikube, roghnaímid dearadh braisle OpenShift aon-nód i bhfoirm Coimeádáin Réidh Cód (CRC). Roimhe seo, tugadh minishift air agus bhí sé bunaithe ar thionscadal OpenShift Origin, ach anois tá sé CRC agus tógtha ar Red Hat's OpenShift Container Platform.

Anseo, tá brón orainn, ní féidir linn cabhrú ach a rá: "Tá OpenShift iontach!"

Ar dtús, cheapamar a scríobh nach bhfuil aon difríocht idir an fhorbairt ar OpenShift agus an fhorbairt ar Kubernetes. Agus go bunúsach is é seo an chaoi a bhfuil sé. Ach agus an post seo á scríobh, chuimhnigh muid cé mhéad gluaiseachtaí breise a chaithfidh tú a dhéanamh nuair nach bhfuil OpenShift agat, agus sin an fáth, arís, tá sé iontach. Is breá linn é nuair a dhéantar gach rud go héasca, agus cé chomh héasca is atá ár sampla a imscaradh agus a reáchtáil ar OpenShift i gcomparáid le minikube a spreag dúinn an post seo a scríobh.

A ligean ar dul tríd an bpróiseas agus a fheiceáil cad is gá dúinn a dhéanamh.

Mar sin, sa sampla minikube, thosaigh muid le Docker... Fan, ní gá dúinn Docker a shuiteáil ar an meaisín a thuilleadh.

Agus níl git áitiúil de dhíth orainn.
Agus ní gá Maven.
Agus ní gá duit íomhá coimeádán a chruthú le do lámha.
Agus ní gá duit aon stór d'íomhánna coimeádáin a chuardach.
Agus ní gá rialtóir ionraidh a shuiteáil.
Agus ní gá duit dul isteach a chumrú ach an oiread.

Tuigeann tú, ceart? Chun ár bhfeidhmchlár a imscaradh agus a rith ar OpenShift, ní gá duit aon cheann díobh sin thuas. Agus tá an chuma ar an bpróiseas féin mar seo.

Céim 1 - Seoladh do bhraisle OpenShift

Bainimid úsáid as Code Ready Containers ó Red Hat, atá go bunúsach mar an gcéanna Minikube, ach amháin le braisle Openshift aon-nód lán-chuimsitheach.

crc start

Céim 2 - Tóg agus imscaradh an feidhmchlár chuig braisle OpenShift

Is ag an gcéim seo a nochtar simplíocht agus áisiúlacht OpenShift ina ghlóir ar fad. Cosúil le gach dáileadh Kubernetes, tá go leor bealaí againn chun feidhmchlár a rith i mbraisle. Agus, mar atá i gcás KUK, roghnaíonn muid go sonrach an ceann is simplí.

Tógadh OpenShift i gcónaí mar ardán chun feidhmchláir coimeádta a chruthú agus a rith. Bhí tógáil coimeádáin mar chuid lárnach den ardán seo i gcónaí, agus mar sin tá tonna acmhainní Kubernetes breise ann le haghaidh tascanna gaolmhara.

Beidh muid ag baint úsáide as próiseas Foinse 2 Íomhá OpenShift 2 (SXNUMXI), a bhfuil roinnt bealaí éagsúla chun ár bhfoinse (cód nó binaries) a ghlacadh agus é a iompú ina íomhá coimeádán a ritheann ar bhraisle OpenShift.

Chun é seo a dhéanamh teastaíonn dhá rud uainn:

  • Tá ár gcód foinse sa stór git
  • Íomhá tógálaí ar a mbonn a dhéanfar an tógáil.

Tá go leor íomhánna den sórt sin á gcothabháil ag Red Hat agus ag leibhéal an phobail, agus úsáidfimid an íomhá OpenJDK, go maith, ós rud é go bhfuil mé ag tógáil feidhmchlár Java.

Is féidir leat an tógáil S2I a rith ó chonsól grafach OpenShift Developer agus ón líne ordaithe. Bainfimid úsáid as an ordú nua-app, ag insint dó cá háit a bhfaighidh tú an íomhá tógálaí agus ár gcód foinse.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

oc new-app registry.access.redhat.com/ubi8/openjdk-11:latest~https://github.com/gcolman/quarkus-hello-world.git

Sin é, cruthaítear ár n-iarratas. Agus é sin á dhéanamh, rinne próiseas S2I na rudaí seo a leanas:

  • Cruthaíodh pod tógála seirbhíse le haghaidh gach cineál rudaí a bhaineann le tógáil an fheidhmchláir.
  • Cruthaíodh an cumraíocht OpenShift Build.
  • Íoslódáil mé an íomhá tógálaí chuig an gclár docker OpenShift inmheánach.
  • Clónáilte "Dia duit Domhanda" chuig an stór áitiúil.
  • Chonaic mé go raibh maven pom ann, mar sin thiomsaigh mé an feidhmchlár ag baint úsáide as maven.
  • Cruthaíodh íomhá coimeádán nua ina bhfuil an feidhmchlár tiomsaithe Java agus chuir an íomhá seo isteach sa chlár coimeádán inmheánach.
  • Imscaradh Cruthaithe Kubernetes le sonraíochtaí le haghaidh pod, seirbhís, etc.
  • Thosaigh mé ag imscaradh íomhá an choimeádáin.
  • Baineadh an pod tógála seirbhíse.

Tá go leor ar an liosta seo, ach is é an rud is mó ná go dtarlaíonn an tógáil ar fad go heisiach taobh istigh de OpenShift, tá an clárlann inmheánach Docker taobh istigh de OpenShift, agus cruthaíonn an próiseas tógála na comhpháirteanna Kubernetes go léir agus ritheann siad sa bhraisle.

Má dhéanann tú monatóireacht amhairc ar sheoladh S2I sa chonsól, is féidir leat a fheiceáil conas a sheoltar an pod tógála nuair a bheidh an tógáil críochnaithe.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Anois féachaimis ar na logaí pod tógálaí: ar an gcéad dul síos, taispeánann sé conas a dhéanann sé a chuid oibre agus spleáchais íoslódálacha chun ár bhfeidhmchlár java a thógáil.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Tar éis an tógáil maven a bheith críochnaithe, cuirtear tús le tógáil íomhá an choimeádáin, agus ansin seoltar an íomhá tógtha seo chuig an stór inmheánach.

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Sin é, tá an próiseas tógála críochnaithe. Anois déanaimis deimhin de go bhfuil pods agus seirbhísí ár bhfeidhmchlár ag rith sa bhraisle.

oc get service

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Sin é an méid. Agus gan ach foireann amháin. Níl le déanamh againn ach an tseirbhís seo a nochtadh le haghaidh rochtana ón taobh amuigh.

Céim 3 - nochtaigh an tseirbhís le haghaidh rochtana ón taobh amuigh

Mar atá i gcás KUC, ar an ardán OpenShift tá ródaire ag teastáil ónár “Dia duit Domhanda” chun trácht seachtrach a dhíriú chuig an tseirbhís laistigh den bhraisle. Déanann OpenShift é seo an-éasca. Ar an gcéad dul síos, tá an chomhpháirt ródaithe HAProxy suiteáilte sa bhraisle de réir réamhshocraithe (is féidir é a athrú chuig an NGINX céanna). Ar an dara dul síos, tá acmhainní speisialta agus an-configurable ar a dtugtar Bealaí agus i gcuimhne rudaí Ingress i Kubernetes maith d'aois (go deimhin, Bealaí OpenShift tionchar mór ar dhearadh rudaí Ingress, is féidir a úsáid anois in OpenShift), ach le haghaidh ár “Dia duit Domhanda” , agus i mbeagnach gach cás eile, is leor an Bealach caighdeánach dúinn gan cumraíocht bhreise.

Chun FQDN ródúcháin a chruthú le haghaidh “Hello World” (tá, tá a DNS féin ag OpenShiift chun ainmneacha seirbhíse a ródú), ní dhéanfaidh muid ach ár seirbhís a nochtadh:

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

oc expose service quarkus-hello-world

Má fhéachann tú ar an mBealach nuachruthaithe, is féidir leat an FQDN agus faisnéis ródaithe eile a fháil ann:

oc get route

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Agus ar deireadh, faighimid rochtain ar ár seirbhís ón mbrabhsálaí:

Ár leithscéal, OpenShift, ní raibh muid buíoch go leor leat agus ghlacamar leat a bheith sásta

Ach anois bhí sé iontach éasca!

Is breá linn Kubernetes agus gach rud a ligeann an teicneolaíocht seo dúinn a dhéanamh, agus is breá linn freisin an simplíocht agus an éascaíocht. Cruthaíodh Kubernetes chun oibriú coimeádán dáilte inscálaithe a shimpliú go mór, ach níl a simplíocht go leor chun feidhmchláir a chur i dtáirgeadh inniu. Seo an áit a dtagann OpenShift i spraoi, ag coinneáil suas leis na hamanna agus ag tairiscint Kubernetes, atá dírithe go príomha ar an bhforbróir. Tá go leor iarracht déanta chun an t-ardán OpenShift a shaincheapadh go sonrach don fhorbróir, lena n-áirítear cruthú uirlisí mar S2I, ODI, Tairseach Forbróra, Creat Oibreoir OpenShift, comhtháthú IDE, Catalóga Forbróirí, comhtháthú Helm, monatóireacht agus go leor eile.

Tá súil againn go raibh an t-alt seo suimiúil agus úsáideach duit. Is féidir leat teacht ar acmhainní breise, ábhair agus rudaí eile atá úsáideach le forbairt ar an ardán OpenShift ar an tairseach Forbróirí Red Hat.

Foinse: will.com

Add a comment