ProHoster > Blog > Pulega > Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe
Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe
O lenei pou na tusia ona o matou tagata faigaluega e tele naua talanoaga ma tagata faʻatau e uiga i le atinaʻeina o talosaga ile Kubernetes ma faʻamatalaga patino o ia atinaʻe ile OpenShift.
E masani ona tatou amata i le suʻesuʻega e faapea o Kubernetes e naʻo Kubernetes, ma OpenShift ua leva ona avea ma Kubernetes platform, pei o Microsoft AKS poʻo Amazon EKS. O nei faʻavae taʻitasi e iai ona lava lelei, e faʻatatau i se tagata faʻapitoa. Ma a maeʻa lenei, o le talanoaga e liliu i le faʻatusatusaina o malosiaga ma vaivaiga o faʻavae faʻapitoa.
I se tulaga lautele, matou te mafaufau e tusi lenei pou ma se gaioiga e pei o le "Faalogo, e le afaina po o fea e te taʻavale ai le code, i luga o OpenShift poʻo luga ole AKS, ile EKS, i luga o nisi Kubernetes masani, ioe i luga o soʻo se Kubernetes. (mo le faapuupuu tatou ta'ua KUK) "E matua faigofie lava, iina ma iina."
Ona matou fuafua lea e ave le "Talofa Lalolagi" sili ona faigofie ma faʻaaoga lana faʻataʻitaʻiga e faʻaalia ai le mea masani ma le eseesega i le va o le KUC ma le Red Hat OpenShift Container Platform (o loʻo mulimuli ane, OCP poʻo OpenShift).
Ae ui i lea, a o matou tusia lenei pou, na matou iloa ai ua matou masani i le faʻaaogaina o OpenShift mo se taimi umi na matou le iloa ai pe faʻafefea ona tupu ma liliu atu i se tulaga ofoofogia na sili atu nai lo na o le tufatufaina atu o Kubernetes. E masani ona tatou manatu māmā i le matua ma le faigofie o OpenShift, ma galo ai lona pupula.
I se tulaga lautele, ua oʻo mai le taimi mo le salamo malosi, ma o lenei o le a tatou faʻatusatusa i lea laasaga ma lea laasaga le faʻatulagaina o la tatou "Talofa Lalolagi" i luga o le KUK ma luga o OpenShift, ma o le a tatou faia lenei mea i le mea e mafai ai (ia, sei vagana ai o nisi taimi e faʻaalia ai se uiga patino i le mataupu). Afai e te fiafia i se manatu faʻapitoa i lenei mataupu, ona mafai lea ona e faitau i ai iinei (EN). Ma i lenei pou o le a tatou pipii i mea moni ma naʻo mea moni.
Fa'apotopotoga
O lea la, o la tatou "Talofa Lalolagi" e manaʻomia ni fuifui. Sei o tatou fai atu "leai" i soʻo se ao lautele, ina ia aua neʻi totogiina mo sapalai, resitala, fesoʻotaʻiga, fesiitaiga o faʻamatalaga, ma isi. E tusa ai, matou te filifilia se fuifui faigofie tasi-node i luga Minikube (mo KUK) ma Code Sauni Pusa (mo OpenShift cluster). O nei filifiliga e lua e matua faigofie lava ona faʻapipiʻi, ae o le a manaʻomia ai le tele o punaoa i luga o lau komepiuta.
Fonotaga i KUK-e
Tatou o loa.
Laasaga 1 – fau a tatou ata atigipusa
Tatou amata i le fa'agaioiina o la tatou “Talofa Lalolagi” i le minikube. O lenei mea o le a manaʻomia:
1. Fa'apipi'i le Docker.
2. Fa'apipi'i Git.
3. Faʻapipiʻi Maven (o le mea moni, o lenei poloketi e faʻaaogaina le mvnw binary, o lea e mafai ai ona e faia e aunoa ma lena).
O le laasaga muamua o le fatuina o se poloketi Quarkus. Aua e te popole pe afai e te leʻi galue lava ma Quarkus.io - e faigofie. Naʻo lou filifilia o vaega e te manaʻo e faʻaoga i le poloketi (RestEasy, Hibernate, Amazon SQS, Camel, ma isi), ona sosoo ai lea ma Quarkus lava ia, e aunoa ma lou auai, faʻapipiʻi le maven archetype ma tuʻu mea uma ile github. O lona uiga, e tasi lava le kiliki o le isumu - ma ua uma. O le mea lea matou te fiafia ai ia Quarkus.
O le auala pito sili ona faigofie e fausia ai le tatou "Talofa Lalolagi" i totonu o se ata faʻapipiʻiina o le faʻaogaina lea o faʻaopoopoga quarkus-maven mo Docker, lea o le a faia uma galuega talafeagai. Faatasi ai ma le oʻo mai o Quarkus, ua matua faigofie ma faigofie lenei mea: faʻaopoopo le faʻaopoopoga o container-image-docker ma e mafai ona e fatuina ata ma faʻatonuga maven.
Ma le mea mulimuli, matou te fausia a matou ata e faʻaaoga ai Maven. O le i'uga, o la tatou fa'ailoga fa'apogai ua liua i se ata koneteina ua saunia e mafai ona fa'atino i totonu o le si'osi'omaga taimi ta'avale.
Pau lava lena, o lea e mafai ona e amataina le atigipusa ma le docker run command, faʻafanua la matou tautua i le taulaga 8080 ina ia mafai ona maua.
docker run -i — rm -p 8080:8080 gcolman/quarkus-hello-world
A maeʻa le faʻataʻitaʻiga o koneteina, pau lava le mea o loʻo totoe o le siakiina o le curl command o loʻo faʻagaoioia la matou auaunaga:
O lea e aoga mea uma ma sa matua faigofie ma faigofie.
Laasaga 2 - Tuuina atu la matou koneteina i le fale teu ata
Mo le taimi nei, o le ata na matou fatuina o loʻo teuina i totonu o le lotoifale, i totonu o la matou koneteina i le lotoifale. Afai tatou te mananaʻo e faʻaoga lenei ata i la tatou siosiomaga COOK, ona tatau lea ona tuʻu i totonu o se isi fale teu oloa. Kubernetes e le o iai nei foliga, o lea o le a matou faʻaogaina le dockerhub. Aua, muamua, e leai se totogi, ma lona lua, (toetoe lava) faia e tagata uma.
E faigofie tele foi lenei, ma pau lava le mea e te manaʻomia o se dockerhub account.
O lea la, matou te faʻapipiʻi le dockerhub ma lafo la matou ata iina.
Laasaga 3 - faʻalauiloa Kubernetes
E tele auala e faʻapipiʻi ai le kubernetes configuration e faʻatautaia ai la tatou "Talofa Lalolagi", ae o le a matou faʻaogaina le faigofie o latou, o le auala lena tatou te ...
Muamua, seʻi o tatou faʻalauiloa le minikube cluster:
minikube start
Laasaga 4 - Fa'ata'ita'iina o le ata o le Container
Ole taimi nei e mana'omia le fa'aliliuina o la tatou code ma ata atigipusa ile kubernetes configuration. I se isi faaupuga, matou te manaʻomia se faʻamatalaga faʻapipiʻi ma faʻapipiʻi faʻasino i la matou ata atigipusa i luga o le dockerhub. O se tasi o auala pito sili ona faigofie e fai ai lenei mea o le faʻataʻitaʻiina lea o le faʻatulagaina o le faʻatonuga o loʻo faasino i la tatou ata:
Faatasi ai ma lenei poloaiga na matou taʻu atu i le matou COO e fai se faʻatulagaga faʻapipiʻi, lea e tatau ona i ai le faʻamatalaga o le pod mo la matou ata atigipusa. O lenei fa'atonuga o le a fa'aogaina ai fo'i lenei fa'atulagaga i la tatou fuifui minikube, ma fa'atupu ai se fa'agaioiga e fa'apipi'i ai le ata o le atigipusa ma fa'alauiloa le pod i le fuifui.
Laasaga 5 - tatala avanoa i la matou auaunaga
O lea la ua i ai a matou ata faʻapipiʻi faʻapipiʻi, ua oʻo i le taimi e mafaufau ai pe faʻafefea ona faʻapipiʻi avanoa i fafo i lenei auaunaga Restful, lea, o le mea moni, ua faʻapipiʻiina i la matou code.
E tele auala iinei. Mo se faʻataʻitaʻiga, e mafai ona e faʻaogaina le faʻaaliga faʻatonuga e otometi ai ona fatuina vaega Kubernetes talafeagai, e pei o auaunaga ma faʻaiʻuga. O le mea moni, o le mea lenei o le a tatou faia e ala i le faʻatinoina o le faʻaaliga faʻatonuga mo la tatou faʻaogaina mea:
Sei o tatou faʻaalu sina taimi e vaʻavaʻai ai i le "-type" filifiliga o le faʻaaliga faʻatonu.
A matou fa'aalia ma fatuina vaega e mana'omia e fa'atino ai la matou 'au'aunaga, matou te mana'omia, fa'atasi ai ma isi mea, ina ia mafai ona fa'afeso'ota'i mai fafo i le 'au'aunaga hello-quarkus o lo'o nofo i totonu o la matou feso'ota'iga fa'apolokalame. Ma fa'amaufa'ailoga ituaiga e mafai ai ona matou faia ma fa'afeso'ota'i mea e pei o load balancers e fa'aala ai felauaiga i lenei feso'otaiga.
Mo se faataitaiga, tusitusi ituaiga=LoadBalancer, matou te otometi lava ona amatalia le faapaleni uta ao lautele e fa'afeso'ota'i i la matou fa'aputuga Kubernetes. O lenei, ioe, e lelei tele, ae e tatau ona e malamalama o sea faʻatulagaga o le a fusia mau i se ao lautele lautele ma o le a sili atu ona faigata ona faʻafeiloaʻi i le va o Kubernetes taimi i siosiomaga eseese.
I la tatou faataitaiga ituaiga=NodePort, o lona uiga, o la matou 'au'aunaga e maua i le tuatusi IP o le node ma le numera o le taulaga. O lenei filifiliga e mafai ai ona e le faʻaogaina soʻo se ao lautele, ae manaʻomia se numera o laasaga faaopoopo. Muamua, e te manaʻomia lau lava paleni uta, o lea o le a matou faʻaogaina le NGINX load balancer i la matou fuifui.
Laasaga 6 - faʻapipiʻi se paleni uta
O le minikube o lo'o i ai le tele o galuega fa'avae e fa'afaigofie ai ona fausia vaega e mafai ona maua i fafo, e pei o le fa'aogaina o mea. Minikube e sau faʻatasi ma le Nginx ingress controller, ma pau lava le mea e tatau ona tatou faia o le faʻatagaina ma faʻapipiʻi.
minikube addons enable ingress
O lenei o le a matou fatuina se Nginx ingress controller ma naʻo le tasi le poloaiga, lea o le a galue i totonu o la matou minikube cluster:
Ole taimi nei e manaʻomia le faʻatulagaina o le Nginx ingress controller e talia talosaga hello-quarkus.
Ma le mea mulimuli, tatou te manaʻomia le faʻaogaina o lenei faʻatulagaga.
kubectl apply -f ingress.yml
Talu ai o loʻo matou faia nei mea uma i luga o la matou komepiuta, matou te faʻapipiʻi le tuatusi IP a matou node i le / etc / hosts file e faʻafeiloaʻi ai talosaga http i la matou minikube i le NGINX load balancer.
192.168.99.100 hello-quarkus.info
O le mea lena, o lea ua mafai ona maua le matou minikube i fafo e ala i le Nginx ingress controller.
Ia, sa faigofie, sa'o? Pe le tele naua?
Tamomoe ile OpenShift (Code Ready Containers)
Se'i o tatou va'ai pe fa'apefea ona faia nei mea uma ile Red Hat OpenShift Container Platform (OCP).
E pei o le tulaga o minikube, matou te filifilia se polokalame e tasi le node OpenShift cluster i le tulaga o Code Ready Containers (CRC). Sa masani ona taʻua o le minishift ma sa faʻavae i luga o le OpenShift Origin project, ae o lea ua CRC ma fausia i luga o le Red Hat's OpenShift Container Platform.
O iinei matou, faʻamolemole, e le mafai ona taofia ae fai mai: "OpenShift e manaia!"
I le taimi muamua, na matou manatu e tusi lena atinaʻe i OpenShift e leai se eseesega mai le atinaʻe i Kubernetes. Ma o lona uiga o le tulaga lea. Ae i le faagasologa o le tusiaina o lenei pou, matou te manatua le tele o gaioiga faaopoopo e tatau ona e faia pe a leai sau OpenShift, ma o le mea lea, toe, e manaia. Matou te fiafia pe a faigofie mea uma, ma le faigofie o la matou faʻataʻitaʻiga e faʻapipiʻi ma taʻavale i luga o OpenShift faʻatusatusa i le minikube o le mea lea na mafua ai ona matou tusia lenei pou.
Sei o tatou faia le faagasologa ma vaai po o le a le mea e tatau ona tatou faia.
O lea la, i le minikube faʻataʻitaʻiga, matou amata i Docker ... Faatali, matou te le toe manaʻomia Docker faʻapipiʻi i luga o le masini.
Ma matou te le manaʻomia git i le lotoifale.
Ma e le manaʻomia Maven.
Ma e te le tau faia se ata atigipusa ma ou lima.
Ma e te le tau su'e so'o se fa'aputuga o ata atigipusa.
Ma e leai se mea e manaʻomia e faʻapipiʻi ai se mea e faʻaogaina ai.
Ma e te le manaʻomia foʻi le faʻapipiʻiina o le ingress.
E te malamalama, sa'o? Ina ia faʻapipiʻi ma faʻatautaia la matou talosaga ile OpenShift, e te le manaʻomia se mea o loʻo i luga. Ma o le faagasologa lava ia e pei o lenei.
Laasaga 1 – Fa'alauiloa lau fa'aputuga OpenShift
Matou te faʻaaogaina Code Ready Containers mai Red Hat, lea e tutusa lava le Minikube, ae naʻo le faʻapipiʻiina o le Openhift cluster.
crc start
Laasaga 2 - Fausia ma faʻapipiʻi le talosaga i le OpenShift cluster
O le laasaga lea e faʻaalia ai le faigofie ma le faigofie o OpenShift i lona mamalu uma. E pei o fa'asoa uma a Kubernetes, e tele a matou auala e fa'atino ai se talosaga i luga o se fuifui. Ma, e pei o le KUK, matou te filifilia faapitoa le faigofie.
OpenShift ua fausia i taimi uma e avea o se faʻavae mo le fatuina ma le faʻaogaina o talosaga faʻapipiʻi. O le fausiaina o koneteina o se vaega taua o lenei tulaga, o lea e iai le tele o punaoa Kubernetes faaopoopo mo galuega faʻatatau.
O le a matou faʻaaogaina le OpenShift's Source 2 Image (S2I) process, lea e tele auala eseese e ave ai la matou puna (code or binaries) ma liliu i se ata faʻapipiʻi e taʻavale i luga o le OpenShift cluster.
Ina ia faia lenei mea matou te manaʻomia ni mea se lua:
O la matou faʻamatalaga puna i totonu o le git repository
Fausia ata i luga o le faʻavae o le a faʻatinoina le faufale.
E tele na ata o loʻo tausia uma e le Red Hat ma le faʻalapotopotoga, ma o le a matou faʻaogaina le OpenJDK image, lelei, talu ai o loʻo ou fausiaina se Java application.
E mafai ona e fa'atautaia se S2I fausia uma mai le OpenShift Developer graphical console ma mai le laina fa'atonu. O le a matou faʻaogaina le faʻatonuga fou-app, taʻu i ai le mea e maua ai le ata faufale ma la matou faʻailoga puna.
O le mea lena, ua faia le matou talosaga. I le faia o lea mea, o le S2I faagasologa na faia mea nei:
Fausia se auaunaga fausia-pod mo ituaiga uma o mea e fesoʻotaʻi ma le fausiaina o le talosaga.
Fausia le OpenShift Build config.
Na ou siiina le ata faufale i totonu o le OpenShift docker resitara.
Fa'asolo le "Talofa Lalolagi" i le fale teu oloa.
Na ou vaaia o loʻo i ai se maven pom iina, o lea na ou tuufaatasia ai le talosaga e faʻaaoga ai le maven.
Fausia se ata fou koneteina o loʻo i ai le Java application tuʻufaʻatasia ma tuʻu le ata lea i totonu o le resitala o pusa totonu.
Fausia se Kubernetes Deployment ma faʻamatalaga mo se pod, auaunaga, ma isi.
Na amata ona ou faʻaogaina le ata o pusa.
Ave'esea le fau-pod tautua.
E tele naua i luga o lenei lisi, ae o le mea autu o le fale atoa e tupu naʻo totonu OpenShift, o le resitala Docker i totonu o loʻo i totonu OpenShift, ma o le fausiaina o le fausiaina e fatuina uma ai vaega Kubernetes ma faʻaulu i totonu o le fuifui.
Afai e te mataʻituina le faʻalauiloaina o le S2I i totonu o le faʻamafanafanaga, e mafai ona e vaʻai pe faʻafefea ona faʻalauiloa le fale faufale pe a maeʻa le fausiaina.
Se'i o tatou tilotilo la i le faufale pod ogalaau: muamua, o lo'o fa'aalia ai pe fa'afefea ona fai e le maven lana galuega ma fa'apipi'i fa'alagolago e fausia ai la tatou talosaga java.
A maeʻa le fausiaina o le maven, ona amata loa lea o le fausiaina o le atigipusa ata, ona auina atu lea o lenei ata fausia i le fale teu oloa i totonu.
O mea uma, ua mae'a le fa'apotopotoga. Ia tatou mautinoa ua amata le pods ma auaunaga o la tatou talosaga i le fuifui.
oc get service
Pau lava lena. Ma e na'o le tasi le 'au. Pau lava le mea e tatau ona matou faia o le faʻaalia o lenei auaunaga mo avanoa i fafo.
Laasaga 3 - faʻaalia le auaunaga mo le avanoa mai fafo
E pei o le tulaga o le KUC, i luga o le OpenShift platform la tatou "Talofa Lalolagi" e manaʻomia foʻi se alalaupapa e faʻatonu ai fefaʻatauaiga i fafo i le auaunaga i totonu o le fuifui. OpenShift e faigofie tele lenei mea. Muamua, o le HAProxy routing component e faʻapipiʻiina i le fuifui e ala i le faaletonu (e mafai ona suia i le NGINX tutusa). Lona lua, o loʻo i ai punaoa faʻapitoa ma sili ona faʻapitoa e taʻua o Auala ma e pei o mea Ingress i Kubernetes tuai lelei (o le mea moni, OpenShift's Routes na matua aʻafia ai le mamanu o mea Ingress, lea e mafai nei ona faʻaaogaina i OpenShift), ae mo la tatou "Talofa Lalolagi" , ma toetoe lava o isi tulaga uma, o le auala masani e lava mo i matou e aunoa ma se faʻaopoopoina faʻaopoopo.
Ina ia fatuina se FQDN faʻaogaina mo le "Talofa Lalolagi" (ioe, OpenShiift o loʻo i ai lana lava DNS mo le taʻavale i igoa o auaunaga), matou te faʻaalia la matou auaunaga:
oc expose service quarkus-hello-world
Afai e te vaʻai i le Auala fou na faia, e mafai ona e mauaina le FQDN ma isi faʻamatalaga auala iina:
oc get route
Ma le mea mulimuli, matou te maua la matou auaunaga mai le browser:
Ae o lea ua matua faigofie lava!
Matou te fiafia i Kubernetes ma mea uma e mafai e lenei tekinolosi matou te faia, ma matou te fiafia foi i le faigofie ma le faigofie. Na faia Kubernetes e faʻafaigofie tele le faʻagaioiina o pusa tufatufaina, faʻapipiʻiina, ae o lona faigofie e le o toe lava e tuʻu ai talosaga i le gaosiga i aso nei. O le mea lea e sau ai OpenShift, faʻatasi ma taimi ma ofoina atu Kubernetes, faʻatatau i le atinaʻe. O le tele o taumafaiga ua faʻatupeina e faʻafetaui ai le OpenShift platform faʻapitoa mo le atinaʻe, e aofia ai le fausiaina o meafaigaluega e pei o le S2I, ODI, Developer Portal, OpenShift Operator Framework, IDE integration, Developer Catalogues, Helm integration, mataʻituina ma le tele o isi.
Matou te faʻamoemoe o lenei tusiga sa manaia ma aoga mo oe. Ma e mafai ona e mauaina isi punaoa, meafaitino ma isi mea aoga mo le atinaʻeina i luga o le OpenShift platform i luga o le faitotoa Red Hat Developers.