ProHoster > Blog > Rianachd > Tagraidhean ùr-nodha air OpenShift, pàirt 2: togalaichean slabhraidh
Tagraidhean ùr-nodha air OpenShift, pàirt 2: togalaichean slabhraidh
Hi uile! Is e seo an dàrna post san t-sreath againn anns a bheil sinn a’ sealltainn mar a chleachdas tu tagraidhean lìn ùr-nodha air Red Hat OpenShift.
Anns an dreuchd roimhe, thug sinn beagan suathadh air comasan ìomhaigh neach-togail ùr S2I (tobar-gu-image), a tha air a dhealbhadh airson a bhith a’ togail agus a’ cleachdadh thagraidhean lìn ùr-nodha air an àrd-ùrlar OpenShift. An uairsin bha ùidh againn anns a’ chuspair mu bhith a’ cleachdadh tagradh gu sgiobalta, agus an-diugh seallaidh sinn air mar a chleachdas sinn ìomhaigh S2I mar ìomhaigh neach-togail “fìor-ghlan” agus ga chur còmhla ri co-chruinneachaidhean OpenShift co-cheangailte.
Dealbh neach-togail glan
Mar a thuirt sinn ann am Pàirt XNUMX, tha ìre togail ris an canar a’ mhòr-chuid de thagraidhean lìn ùr-nodha, a bhios mar as trice a’ coileanadh obrachaidhean leithid tar-chuir còd, co-chruinneachadh ioma-fhaidhlichean, agus mionachadh. Tha na faidhlichean a gheibhear mar thoradh air na h-obraichean sin - agus is e HTML statach, JavaScript agus CSS a tha seo - air an stòradh sa phasgan toraidh. Mar as trice bidh suidheachadh a’ phasgan seo an urra ri dè na h-innealan togail a thathas a’ cleachdadh, agus airson React is e seo am pasgan ./build (thig sinn air ais thuige seo nas mionaidiche gu h-ìosal).
Stòr-gu-Ìomhaigh (S2I)
Anns an dreuchd seo cha bhith sinn a’ bruidhinn air a’ chuspair “dè a th’ ann an S2I agus mar a chleachdas tu e” (faodaidh tu barrachd a leughadh mu dheidhinn seo an seo), ach tha e cudromach a bhith soilleir mun dà cheum sa phròiseas seo gus tuigsinn dè a bhios ìomhaigh Web App Builder a’ dèanamh.
Ìre cruinneachaidh
Tha an ìre cruinneachaidh glè choltach ann an nàdar ris na thachras nuair a ruitheas tu togail docker agus a thig gu crìch le ìomhaigh Docker ùr. Mar sin, bidh an ìre seo a’ tachairt nuair a thòisicheas tu air togail air an àrd-ùrlar OpenShift.
A thaobh ìomhaigh Web App Builder, tha e an urra ri eisimeileachd an tagraidh agad a chuir a-steach agus an togail a ruith. sgriobt a chruinneachadh. Gu gnàthach, bidh ìomhaigh an neach-togail a’ cleachdadh an togail togail ruith npm, ach faodar seo a thoirt thairis tro chaochladair àrainneachd NPM_BUILD.
Mar a thuirt sinn na bu thràithe, tha suidheachadh an tagraidh deiseil, a chaidh a thogail mar-thà an urra ri dè na h-innealan a chleachdas tu. Mar eisimpleir, a thaobh React is e seo am pasgan ./build, agus airson tagraidhean Angular is e am pasgan project_name/dist a bhios ann. Agus, mar a chithear sa phost roimhe, faodar suidheachadh an eòlaire toraidh, a thathar an dùil a thogail gu bunaiteach, a chuir thairis tro chaochladair àrainneachd OUTPUT_DIR. Uill, leis gu bheil suidheachadh a’ phasgan toraidh eadar-dhealaichte bho fhrèam gu frèam, dìreach dèan lethbhreac den toradh a chaidh a ghineadh chun phasgan àbhaisteach san ìomhaigh, is e sin / opt/apt-root/output. Tha seo cudromach airson an còrr den artaigil seo a thuigsinn, ach airson a-nis leig dhuinn sùil a thoirt gu sgiobalta air an ath ìre - an ìre ruith.
ruith ìre
Bidh an ìre seo a’ tachairt nuair a thèid gairm gu ruith docker a dhèanamh air an ìomhaigh ùr a chaidh a chruthachadh aig ìre an t-seanaidh. Bidh an aon rud a’ tachairt nuair a thèid a chleachdadh air an àrd-ùrlar OpenShift. Deònach ruith sgriobt cleachdaidhean modal seirbheis gus susbaint statach a tha suidhichte anns an eòlaire toraidh àbhaisteach gu h-àrd a fhrithealadh.
Tha an dòigh seo math airson a bhith a’ cleachdadh thagraidhean gu sgiobalta, ach sa chumantas chan eilear a’ moladh susbaint statach a fhrithealadh san dòigh seo. Uill, leis nach eil sinn a’ toirt seirbheis ach do shusbaint statach, chan fheum sinn Node.js a chuir a-steach san ìomhaigh againn - bidh frithealaiche lìn gu leòr.
Ann am faclan eile, nuair a bhios sinn a 'cruinneachadh feumaidh sinn aon rud, nuair a bhios sinn a' coileanadh feumaidh sinn rud eile. Anns an t-suidheachadh seo, thig togalaichean slabhraidh gu feum.
Togail slabhraidh
Seo na tha iad a’ sgrìobhadh mu dheidhinn togail slabhraidhean anns na sgrìobhainnean OpenShift:
“Faodar dà cho-chruinneachadh a cheangal ri chèile, le aon a’ gineadh eintiteas cruinnichte agus am fear eile a ’toirt aoigheachd don eintiteas sin ann an ìomhaigh air leth a thathas a’ cleachdadh gus an eintiteas sin a ruith. ”
Ann am faclan eile, is urrainn dhuinn an ìomhaigh Web App Builder a chleachdadh gus ar togail a ruith, agus an uairsin ìomhaigh an fhrithealaiche lìn, an aon NGINX, a chleachdadh gus ar susbaint a fhrithealadh.
Mar sin, is urrainn dhuinn an ìomhaigh Web App Builder a chleachdadh mar neach-togail “fìor-ghlan” agus aig an aon àm bidh ìomhaigh bheag runtime againn.
A-nis leig dhuinn sùil a thoirt air seo le eisimpleir sònraichte.
Airson trèanadh bidh sinn a 'cleachdadh tagradh sìmplidh React, air a chruthachadh a’ cleachdadh an inneal loidhne-àithne create-react-app.
Nach toir sinn sùil nas mionaidiche air an fhaidhle seo, agus tòisichidh sinn leis an roinn paramadairean.
parameters:
- name: SOURCE_REPOSITORY_URL
description: The source URL for the application
displayName: Source URL
required: true
- name: SOURCE_REPOSITORY_REF
description: The branch name for the application
displayName: Source Branch
value: master
required: true
- name: SOURCE_REPOSITORY_DIR
description: The location within the source repo of the application
displayName: Source Directory
value: .
required: true
- name: OUTPUT_DIR
description: The location of the compiled static files from your web apps builder
displayName: Output Directory
value: build
required: false
Tha a h-uile dad an seo gu math soilleir, ach is fhiach aire a thoirt don pharamadair OUTPUT_DIR. Airson an tagradh React san eisimpleir againn, chan eil dad ri dragh mu dheidhinn, leis gu bheil React a’ cleachdadh an luach bunaiteach mar am pasgan toraidh, ach a thaobh Angular no rudeigin eile, feumar am paramadair seo atharrachadh mar a dh’ fheumar.
A-nis leig dhuinn sùil a thoirt air an roinn ImageStreams.
Thoir sùil air an treas agus an ceathramh dealbh. Tha iad le chèile air am mìneachadh mar ìomhaighean Docker, agus chì thu gu soilleir cò às a tha iad.
Is e an treas ìomhaigh neach-togail app-lìn agus tha e a’ tighinn bho nodeshift/ubi8-s2i-web-app tagged 10.x air Ionad docker.
Is e an ceathramh ìomhaigh NGINX (dreach 1.12) leis an taga as ùire air Ionad docker.
A-nis leig dhuinn sùil a thoirt air a 'chiad dà ìomhaigh. Tha iad le chèile falamh aig an toiseach agus air an cruthachadh dìreach aig ìre togail. Bidh a’ chiad ìomhaigh, react-web-app-builder, mar thoradh air ceum cruinneachaidh a cheanglas an ìomhaigh web-app-builder-runtime agus an còd stòr againn. Sin as coireach gun do chuir sinn “-builder” ri ainm na h-ìomhaigh seo.
Bidh an dàrna ìomhaigh - react-web-app-runtime - mar thoradh air a bhith a’ cothlamadh nginx-image-runtime agus cuid de fhaidhlichean bhon ìomhaigh react-web-app-builder. Thèid an ìomhaigh seo a chleachdadh cuideachd aig àm cleachdadh agus cha bhi ann ach am frithealaiche lìn agus HTML statach, JavaScript, CSS den tagradh againn.
Troimhe? A-nis leig dhuinn sùil a thoirt air na rèiteachaidhean togail agus fàsaidh e beagan nas soilleire.
Tha dà rèiteachadh togail aig an teamplaid againn. Seo a’ chiad fhear, agus tha e gu math àbhaisteach:
Mar a chì thu, tha an loidhne le leubail 1 ag ràdh gun tèid toradh an togail seo a chuir anns an aon ìomhaigh react-web-app-builder a chunnaic sinn beagan na bu thràithe san roinn ImageStreams.
Tha an loidhne le bileag 2 ag innse dhut cò às a gheibh thu an còd. Anns a ’chùis againn, is e stòr git a tha seo, agus tha an suidheachadh, an ref agus am pasgan co-theacsa air an suidheachadh leis na paramadairean a chunnaic sinn gu h-àrd mu thràth.
Is e an loidhne le bileag 3 na chunnaic sinn mu thràth anns an roinn paramadairean. Bidh e a’ cur ris an caochladair àrainneachd OUTPUT_DIR, a tha san eisimpleir againn a’ togail.
Tha an loidhne le bileag 4 ag ràdh gun cleachd thu an ìomhaigh web-app-builder-runtime, a chunnaic sinn mu thràth anns an roinn ImageStream.
Tha loidhne le bileag 5 ag ràdh gu bheil sinn airson togail mean air mhean a chleachdadh ma tha ìomhaigh S2I a’ toirt taic dha, agus tha ìomhaigh Web App Builder a’ dèanamh sin. Aig a’ chiad fhoillseachadh, às deidh an ìre cruinneachaidh a chrìochnachadh, sàbhalaidh an ìomhaigh am pasgan node_modules ann am faidhle tasglann. An uairsin, air ruith às deidh sin, bidh an ìomhaigh dìreach a’ unzip am pasgan seo gus an ùine togail a lughdachadh.
Agus mu dheireadh, chan eil anns an loidhne le bileag 6 ach beagan brosnachaidhean gus toirt air an togalach ruith gu fèin-ghluasadach, gun eadar-theachd làimhe, nuair a dh’ atharraicheas rudeigin.
Gu h-iomlan, is e rèiteachadh togail àbhaisteach a tha seo.
A-nis leig dhuinn sùil a thoirt air an dàrna rèiteachadh togail. Tha e glè choltach ris a 'chiad fhear, ach tha aon eadar-dhealachadh cudromach ann.
Mar sin is e an dàrna rèiteachadh togail react-web-app-runtime, agus bidh e a’ tòiseachadh gu math àbhaisteach.
Chan eil an loidhne le bileag 1 dad ùr - tha e dìreach ag ràdh gu bheil toradh an togail air a chuir a-steach don ìomhaigh react-web-app-runtime.
Tha an loidhne le bileag 2, mar a bha san rèiteachadh roimhe, a’ sealltainn cò às a gheibh thu an còd tùsail. Ach mothaich gur ann an seo a tha sinn ag ràdh gu bheil e air a thoirt bhon ìomhaigh. A bharrachd air an sin, bhon ìomhaigh a chruthaich sinn - bho react-web-app-builder (air a chomharrachadh ann an loidhne le bileag 3). Tha na faidhlichean a tha sinn airson a chleachdadh taobh a-staigh na h-ìomhaigh agus tha an suidheachadh an sin air a shuidheachadh ann an loidhne le bileag 4, anns a’ chùis againn is e /opt/app-root/output/ a th’ ann. Ma chuimhnicheas tu, seo far a bheil na faidhlichean a chaidh a chruthachadh stèidhichte air toraidhean togail an tagraidh againn air an stòradh.
Is e am pasgan ceann-uidhe a tha air a shònrachadh san teirm le leubail 5 dìreach an eòlaire gnàthach (tha seo uile, cuimhnich, a’ ruith taobh a-staigh rud draoidheil ris an canar OpenShift, agus chan ann air a’ choimpiutair ionadail agad).
Tha an roinn ro-innleachd - loidhne le bileag 6 - cuideachd coltach ris a’ chiad rèiteachadh togail. Is ann dìreach an turas seo a tha sinn gu bhith a’ cleachdadh nginx-image-runtime, a chunnaic sinn mu thràth anns an roinn ImageStream.
Mu dheireadh, tha an loidhne le bileag 7 na roinn de luchd-brosnachaidh a chuireas an togail seo an gnìomh a h-uile uair a dh’ atharraicheas ìomhaigh neach-togail react-web-app-builder.
Rud eile, tha rèiteachadh cleachdaidh gu math àbhaisteach anns an teamplaid seo, a bharrachd air rudan co-cheangailte ri seirbheisean agus slighean, ach cha tèid sinn a-steach don mhion-fhiosrachadh sin. Thoir an aire gur e an ìomhaigh a thèid a chleachdadh an ìomhaigh react-web-app-runtime.
Cleachdadh Iarrtais
Mar sin a-nis gu bheil sinn air sùil a thoirt air an teamplaid, chì sinn mar a chleachdas tu e gus tagradh a chleachdadh.
Is urrainn dhuinn an inneal teachdaiche OpenShift ris an canar oc a chleachdadh gus an teamplaid againn a chleachdadh:
Tha am pàtran an seo mar an ceudna, ach a-mhàin an caochladair OUTPUT_DIR.
Pàipear-taice 2
San artaigil seo chleachd sinn NGINX mar fhrithealaiche lìn, ach tha e gu math furasta Apache a chuir na àite, dìreach atharraich an teamplaid san fhaidhle Dealbh NGINX air Dealbh apache.
co-dhùnadh
Anns a’ chiad phàirt den t-sreath seo, sheall sinn mar as urrainn dhuinn tagraidhean lìn ùr-nodha a chuir an sàs gu sgiobalta air an àrd-ùrlar OpenShift. An-diugh thug sinn sùil air na bhios ìomhaigh Web App a’ dèanamh agus mar a ghabhas a chur còmhla ri frithealaiche lìn fìor mar NGINX a’ cleachdadh slabhraidhean togail gus togail tagraidh nas deiseil airson cinneasachadh a chruthachadh. Anns an ath artaigil agus an artaigil mu dheireadh san t-sreath seo, seallaidh sinn mar a ruitheas tu frithealaiche leasachaidh airson an tagradh agad air OpenShift agus dèan cinnteach gu bheil faidhlichean ionadail is iomallach air an sioncronadh.
Pàirt 2: Mar a chleachdas tu ìomhaigh S2I ùr le ìomhaigh frithealaiche HTTP a tha ann mar-thà, leithid NGINX, a’ cleachdadh co-chruinneachaidhean OpenShift co-cheangailte airson cleachdadh cinneasachaidh;
Pàirt 3: mar a ruith frithealaiche leasachaidh airson an tagradh agad air an àrd-ùrlar OpenShift agus sioncronaich e leis an t-siostam faidhle ionadail.