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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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. 1. Fa'apipi'i le Docker.
  2. 2. Fa'apipi'i Git.
  3. 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).
  4. 4. O le mea moni, o le puna lava ia, i.e. fale teu oloa clone github.com/gcolman/quarkus-hello-world.git

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

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

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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

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

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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:

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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:

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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

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:

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

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:

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

Laasaga 7 - Faʻatulagaina le ulufale

Ole taimi nei e manaʻomia le faʻatulagaina o le Nginx ingress controller e talia talosaga hello-quarkus.

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

Ma le mea mulimuli, tatou te manaʻomia le faʻaogaina o lenei faʻatulagaga.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

kubectl apply -f ingress.yml

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

Ia, sa faigofie, sa'o? Pe le tele naua?

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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:

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

Ma le mea mulimuli, matou te maua la matou auaunaga mai le browser:

Ou te faamalie atu, OpenShift, e lei lava lo matou talisapaia o oe ma manatu faatauvaa ia te oe

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.

puna: www.habr.com

Faaopoopo i ai se faamatalaga