Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

I tuhia tenei panui na te mea he maha nga korero a a matou kaimahi me nga kaihoko mo te whanaketanga tono i runga i te Kubernetes me nga korero mo taua whanaketanga i OpenShift.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

I te nuinga o te waa ka tiimata me te tuhinga whakapae ko Kubernetes he Kubernetes noa, a ko OpenShift he papaaa Kubernetes, penei i a Microsoft AKS, Amazon EKS ranei. Ko ia o enei papaapapa kei a ia ake nga painga, e whai ana ki te hunga whakarongo. A, i muri i tenei, ka huri te korerorero ki te whakataurite i nga kaha me nga ngoikoretanga o nga waahanga motuhake.

I te nuinga o te waa, i whakaaro matou ki te tuhi i tenei panui me te whakatau penei "Whakarongo, kare he aha te waahi ki te whakahaere i te waehere, i runga i OpenShift, i runga ranei i te AKS, i runga i te EKS, i etahi ritenga Kubernetes, i runga ranei i nga Kubernetes. (mo te poto ka kiia ko KUK) "He tino ngawari, i reira me i reira."

Na ka whakamahere matou ki te tango i te "Hello World" tino ngawari me te whakamahi i tana tauira hei whakaatu he aha te mea noa me te rereketanga i waenga i te KUC me te Red Hat OpenShift Container Platform (i muri nei, OCP, OpenShift noa ranei).

Heoi, i a matou e tuhi ana i tenei panui, i mohio matou kua tino mohio matou ki te whakamahi i te OpenShift mo te wa roa kaore matou i mohio kua pehea te tipu me te huri hei papaa whakamiharo kua nui noa atu i te tohatoha Kubernetes. Ka aro noa tatou ki te pakeke me te ngawari o OpenShift, ka ngaro te tirohanga o tona kanapa.

I te nuinga o te waa, kua tae mai te wa mo te ripeneta kaha, a inaianei ka whakatairitehia e matou te mahi "Hello World" i runga i te KUK me te OpenShift, a ka mahia e matou tenei i runga i te tika ka taea (he pai, engari ma te whakaatu i etahi wa te whakaaro whaiaro ki te kaupapa). Mena kei te pirangi koe ki tetahi whakaaro tino kaupapa mo tenei take, ka taea e koe te panui konei (EN). A i roto i tenei panui ka piri tatou ki nga meka me nga meka anake.

Huihuinga

Na, ko ta tatou "Kia ora te Ao" e hiahia ana ki nga tautau. Ka kii tonu matou "kao" ki nga kapua a-iwi, kia kore ai e utu mo nga kaitoro, rehita, whatunga, whakawhiti raraunga, aha atu. Na reira, ka whiriwhiria e matou he kahui node kotahi ngawari kei runga Minikube (mo te KUK) me Ipu Reri Waehere (mō te kāhui OpenShift). Ko enei waahanga e rua he tino ngawari ki te whakauru, engari me nui rawa nga rauemi i runga i to pona.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Huihuinga i runga i te KUK-e

Na, kia haere tatou.

Hipanga 1 – hanga to tatou ahua ipu

Me timata ma te tuku i ta tatou "Kia ora te Ao" ki minikube. Ki te mahi i tenei ka hiahia koe:

  1. 1. Kua whakauruhia a Docker.
  2. 2. Kua whakauruhia a Git.
  3. 3. Kua whakauruhia a Maven (he pono, ka whakamahia e tenei kaupapa te mvnw rua, na ka taea e koe te mahi me te kore).
  4. 4. Inaa, ko te puna ano, i.e. karaka rokiroki github.com/gcolman/quarkus-hello-world.git

Ko te mahi tuatahi ko te hanga kaupapa Quarkus. Kaua e mataku mena kaore koe i mahi me Quarkus.io - he ngawari. Ka kowhiria e koe nga waahanga e hiahia ana koe ki te whakamahi i roto i te kaupapa (RestEasy, Hibernate, Amazon SQS, Camel, me etahi atu), katahi ko Quarkus ano, me te kore o to whai waahi, ka whirihora i te maven archetype ka tuu nga mea katoa ki runga i te github. Arā, kotahi te paato o te kiore ka oti koe. Koinei te take i aroha ai matou ki a Quarkus.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Ko te huarahi ngawari ki te hanga i to tatou "Hello World" ki te ahua ipu ko te whakamahi i nga toronga quarkus-maven mo Docker, ka mahia nga mahi katoa. Na te taenga mai o Quarkus, kua tino ngawari me te ngawari: taapirihia te toronga ipu-ahua-docker ka taea e koe te hanga whakaahua ma te whakamahi i nga whakahau maven.

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

Ka mutu, ka hangaia e maatau to maatau whakaahua ma te whakamahi i a Maven. Ko te mutunga, ka huri to tatou waehere puna ki te ahua ipu kua rite kua taea te whakahaere i roto i te taiao wa whakahaere ipu.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

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

Kaati, inaianei ka taea e koe te tiimata i te ipu me te whakahau docker run, ma te mapi i ta maatau ratonga ki te tauranga 8080 kia uru atu ai.

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

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

I muri i te tiimata o te tauira ipu, ko nga mea e toe ana ko te tirotiro me te whakahau curl kei te whakahaerehia ta maatau ratonga:

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Na ka mahi nga mea katoa he tino ngawari me te ngawari.

Hipanga 2 – tukua to tatou ipu ki te putunga whakapakoko ipu

Mo tenei wa, ko te ahua i hanga e matou kei te rongoa i te rohe, i roto i ta maatau rokiroki ipu. Mena kei te pirangi tatou ki te whakamahi i tenei ahua ki to tatou taiao COOK, katahi me tuu ki etahi atu putunga. Karekau he ahuatanga pera a Kubernetes, no reira ka whakamahi matou i te dockerhub. Na te mea, tuatahi, he kore utu, tuarua, (tata) ka mahia e te katoa.

He tino ngawari hoki tenei, a ko nga mea katoa e hiahia ana koe he putea dockerhub.

Na, ka whakauruhia e matou te dockerhub ka tukuna to maatau whakaahua ki reira.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Hipanga 3 - whakarewahia nga Kubernetes

He maha nga huarahi ki te whakahiato i te whirihoranga kubernetes ki te whakahaere i to tatou "Tena Ao", engari ka whakamahia e matou nga mea ngawari rawa atu, koinei to matou...

Tuatahi, kia whakarewahia te roopu minikube:

minikube start

Hipanga 4 – toha to tatou ahua ipu

Inaianei me huri ta maatau tohu me te ahua ipu ki nga whirihoranga kubernetes. I etahi atu kupu, ka hiahia matou ki te peera me te whakamaarama whakamaarama e tohu ana ki ta maatau ahua ipu kei runga i te dockerhub. Ko tetahi o nga huarahi ngawari ki te mahi i tenei ko te whakahaere i te hanga whakahau tuku e tohu ana ki to maatau ahua:

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

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

Na tenei whakahau i kii atu matou ki ta matou COO ki te hanga i tetahi whirihoranga tohatoha, me uru ki roto te tohu o te pona mo to maatau ahua ipu. Ma tenei whakahau ka tono ano i tenei whirihoranga ki to tatou kahui minikube, ka hangaia he tohatoha hei tango i ta maatau ahua ipu me te whakarewa i te putunga i roto i te tautau.

Hipanga 5 - tuwhera te uru ki ta maatau ratonga

Inaianei kua tukuna he ahua ipu, kua tae ki te wa ki te whakaaro me pehea te whirihora i te urunga o waho ki tenei ratonga Restful, he pono, kua whakaritea i roto i ta maatau waehere.

He maha nga huarahi i konei. Hei tauira, ka taea e koe te whakamahi i te tono whakakitenga hei hanga aunoa i nga waahanga Kubernetes e tika ana, penei i nga ratonga me nga waahi mutunga. Inaa, koinei ta maatau e mahi ma te whakahaere i te whakahau whakakitenga mo ta tatou ahanoa tuku:

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

Me ata titiro ki te waahanga "-type" o te whakahau whakaatu.

Ina whakaatu me te hanga i nga waahanga e tika ana hei whakahaere i ta maatau ratonga, me kaha taatau ki te hono mai i waho ki te ratonga hello-quarkus, kei roto i ta maatau whatunga kua tautuhia e te rorohiko. Me te tawhā momo ka taea e matou te hanga me te hono i nga mea penei i te taurite kawenga hei arataki waka ki tenei whatunga.

Hei tauira, ma te tuhi momo=LoadBalancer, ka tukuna aunoatia e matou he taurite kawenga i roto i te kapua tūmatanui hei hono atu ki ta matou roopu Kubernetes. Ko te tikanga, he pai tenei, engari me maarama koe ka tino herea taua whirihoranga ki tetahi kapua whanui motuhake, ka uaua ake te whakawhiti i waenga i nga tauira Kubernetes i roto i nga taiao rereke.

I roto i to tatou tauira momo=NodePort, ara, ka uru atu ta maatau ratonga e te wahitau IP o te node me te tau tauranga. Ko tenei whiringa ka taea e koe te kore e whakamahi i nga kapua a-iwi, engari he maha nga waahanga taapiri. Tuatahi, me hiahia koe ki taau ake taurite kawenga, no reira ka tukuna e matou te taurite kawenga NGINX ki roto i ta maatau kahui.

Hipanga 6 – tāuta he taurite kawenga

He maha nga mahi a te minikube e ngawari ake ai te hanga i nga waahanga o waho, penei i nga kaiwhakahaere whakauru. Ka uru mai a Minikube me te kaiwhakahaere whakauru Nginx, a ko ta maatau mahi he whakahohe me te whirihora.

minikube addons enable ingress

Inaianei ka hangaia e matou he kaiwhakahaere whakauru Nginx me te whakahau kotahi, ka mahi i roto i ta maatau roopu minikube:

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

Hipanga 7 - Whakaritea te whakauru

Inaianei me whirihora i te kaiwhakahaere whakauru Nginx kia whakaaehia nga tono hello-quarkus.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Ka mutu, me tono tenei whirihoranga.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

kubectl apply -f ingress.yml

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

I te mea kei te mahi matou i enei mea katoa i runga i ta matou ake rorohiko, ka taapiri noa i te wahitau IP o to matou node ki te konae /etc/ hosts ki te kawe i nga tono http ki a matou minikube ki te taurite kawenga NGINX.

192.168.99.100 hello-quarkus.info

Koia, inaianei ka waatea to maatau ratonga minikube ki waho ma te kaiwhakahaere whakauru Nginx.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Ana, he ngawari tena, tika? Kaore ranei i te nui?

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Rere ana i runga OpenShift (Waehere Riri Ipu)

Inaianei kia kite tatou me pehea enei mahi katoa i runga i te Red Hat OpenShift Container Platform (OCP).

Pērā ki te minikube, ka kōwhiria e mātou tētahi hoahoa kāhui OpenShift kōpuku kotahi i te ahua o nga Waehere Riri Ipu (CRC). I mua, i kiia ko te minishift me te hanga i runga i te kaupapa OpenShift Origin, engari inaianei ko CRC me te hanga i runga i te OpenShift Container Platform a Red Hat.

I konei, pouri, kaore e taea te kii: "He mea whakamiharo a OpenShift!"

I te timatanga, i whakaaro matou ki te tuhi ko te whanaketanga i runga i OpenShift he rereke mai i te whanaketanga i runga i Kubernetes. A ko te tikanga he penei te ahua. Engari i te wa o te tuhi i tenei pou, i mahara matou ki te maha o nga nekehanga ka mahia e koe karekau he OpenShift, na reira ano, he mea whakamiharo. He pai ki a maatau ka mahi ngawari nga mea katoa, me te ngawari o to maatau tauira ki te hora me te whakahaere i runga i OpenShift whakaritea ki te minikube te mea i akiaki i a maatau ki te tuhi i tenei pou.

Me haere tatou i roto i te tukanga me te kite i nga mea me mahi.

Na, i roto i te tauira minikube, i timata matou me Docker... Taria, kaore matou e hiahia kia whakauruhia a Docker ki runga i te miihini.

A kaore matou e hiahia git rohe.
A kaore e hiahiatia a Maven.
A kaore koe e whai ki te hanga i tetahi ahua ipu me o ringaringa.
A kaore koe e rapu mo tetahi putunga o nga whakaahua ipu.
A kaore he take ki te whakauru i tetahi kaiwhakahaere whakauru.
A kaore koe e hiahia ki te whirihora i te whakauru.

Kei te mohio koe, tika? Hei tuku me te whakahaere i a maatau tono ki OpenShift, kaore koe e hiahia ki tetahi o nga mea o runga ake nei. Na ko te ahua o te tukanga ake.

Hipanga 1 - Whakarewahia to huinga OpenShift

Ka whakamahia e matou nga Waehere Riri Waehere mai i te Red Hat, he rite tonu te Minikube, engari me te kahui Openhift node kotahi anake.

crc start

Hipanga 2 - Hanga me te tohatoha i te tono ki te roopu OpenShift

I tenei taahiraa ka whakaatuhia te ngawari me te waatea o OpenShift i tona kororia katoa. Pērā i ngā tohatoha Kubernetes katoa, he maha ngā huarahi ki te whakahaere tono i roto i te kāhui. Na, pera i te keehi o KUK, ka whiriwhiri maatau i te mea ngawari.

I hangaia a OpenShift i nga wa katoa hei turanga mo te hanga me te whakahaere i nga tono whakauru. Ko te hanga ipu i nga wa katoa he waahanga nui o tenei papaaho, no reira he maha atu nga rauemi Kubernetes mo nga mahi e pa ana.

Ka whakamahia e matou te mahinga o OpenShift's Source 2 Image (S2I), he maha nga huarahi ki te tango i to maatau puna (waehere, takirua ranei) ka huri hei ahua ipu e rere ana i runga i te kahui OpenShift.

Ki te mahi i tenei ka hiahia tatou e rua nga mea:

  • Ko ta tatou waehere puna kei roto i te putunga git
  • Ko te ahua o te kaihanga i runga i te kaupapa ka mahia te hanga.

He maha nga ahua penei i mauhia e Red Hat me te taumata hapori, a ka whakamahia e matou te ahua OpenJDK, pai, na te mea kei te hanga ahau i tetahi tono Java.

Ka taea e koe te whakahaere i te hanga S2I mai i te papatohu whakairoiro OpenShift Developer me te raina whakahau. Ka whakamahia e matou te tono tono-hou, e kii ana ki hea ka tikina te ahua o te kaihanga me to tatou waehere puna.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

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

Ko te mea, kua hanga to maatau tono. I te mahi pera, i mahia e te tukanga S2I nga mea e whai ake nei:

  • I hangaia he ratonga hanga-pod mo nga momo mea katoa e pa ana ki te hanga i te tono.
  • I waihangahia te whirihora OpenShift Build.
  • I tangohia e ahau te ahua o te kaihanga ki te rehita o roto OpenShift docker.
  • Kohia te "Hello World" ki te putunga o te rohe.
  • I kite ahau he maven pom kei reira, no reira i whakahiatotia e au te tono ma te whakamahi maven.
  • I waihangahia he ahua ipu hou kei roto te tono Java kua whakahiato, ka maka tenei ahua ki roto i te rehita ipu o roto.
  • I hangaia te Whakamahinga Kubernetes me nga whakaritenga mo te pod, ratonga, aha atu.
  • I timata ahau ki te whakatakoto i te ahua ipu.
  • I tangohia te ratonga hanga-pod.

He maha kei runga i tenei rarangi, engari ko te mea nui ko te hanga katoa ka puta noa i roto i OpenShift, ko te rehitatanga Docker o roto kei roto OpenShift, a ko te hangahanga ka hangaia nga waahanga Kubernetes katoa ka whakahaerehia i roto i te roopu.

Mena ka aro turuki koe i te whakarewatanga o te S2I i roto i te papatohu, ka kite koe me pehea te whakarewatanga o te pou hangahanga ina oti te hanga.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Inaianei me titiro tatou ki nga raarangi hangahanga: tuatahi, e whakaatu ana me pehea te mahi a maven me te tango i nga whakawhirinakitanga ki te hanga i ta maatau tono java.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Ka oti te hanga maven, ka timata te hanga o te ahua ipu, katahi ka tukuna tenei ahua hanga ki te putunga o roto.

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Koia, kua oti te mahi hanga. Inaianei kia mohio kei te rere nga poro me nga ratonga o ta maatau tono i roto i te roopu.

oc get service

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Heoi ano. A kotahi noa te kapa. Heoi ano ta matou mahi he whakaatu i tenei ratonga mo te uru mai i waho.

Hipanga 3 - whakaatu i te ratonga mo te uru mai i waho

Pērā i te take o KUC, i runga i te papaaho OpenShift to tatou "Hello World" me whai pouara ki te arahi i nga waka o waho ki te ratonga i roto i te roopu. He tino ngawari tenei a OpenShift. Tuatahi, ka whakauruhia te waahanga ararere HAProxy ki roto i te roopu ma te taunoa (ka taea te huri ki te NGINX kotahi). Tuarua, he rauemi motuhake me te tino whirihora e kiia nei ko Routes me te maumahara ki nga taonga Ingress i roto i nga Kubernetes tawhito pai (he pono, na OpenShift's Routes i tino whakaawe i te hoahoa o nga mea Ingress, ka taea te whakamahi inaianei i OpenShift) , engari mo to tatou "Kia ora te Ao" , me te tata ki era atu keehi, he nui te huarahi paerewa mo matou kaore he taapiri taapiri.

Hei hanga i tetahi FQDN ka taea te huri mo te "Kia ora te Ao" (ae, kei a OpenShiift tana ake DNS mo te ararere ma nga ingoa ratonga), ka whakaatu noa taatau ratonga:

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

oc expose service quarkus-hello-world

Mena ka titiro koe ki te huarahi hou i hangaia, ka kitea e koe te FQDN me etahi atu korero ararere ki reira:

oc get route

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Ka mutu, ka uru atu taatau ratonga mai i te kaitirotiro:

Aroha mai ki a OpenShift, kare i nui to matou mihi ki a koe, karekau matou i pai ki a koe

Inaianei he tino ngawari!

E aroha ana matou ki nga Kubernetes me nga mea katoa e taea ana e tenei hangarau ki a matou, a he pai ki a matou te ngawari me te ngawari. I hangaia a Kubernetes hei whakangwari rawa i nga mahi o nga ipu kua tohatohahia, ka taea te tauineine, engari kua kore tona ngawari ki te whakauru tono ki roto i nga mahi i enei ra. Koinei te waahi ka uru mai a OpenShift, kia mau tonu ki nga waa me te tuku Kubernetes, e aro nui ana ki te kaiwhakawhanake. He nui nga mahi kua whakapaua ki te whakangao i te papaaho OpenShift mo te kaiwhakawhanake, tae atu ki te hanga taputapu penei i te S2I, ODI, Kaiwhakawhanake Portal, OpenShift Operator Framework, IDE integration, Developer Catalogues, Helm integration, aroturuki me te maha atu.

Te ti'aturi nei matou i pai tenei tuhinga me te whai hua mo koe. Ka kitea e koe etahi atu rauemi, rauemi me etahi atu mea e whai hua ana mo te whanaketanga i runga i te turanga OpenShift i runga i te tomokanga Nga Kaihanga Potae Whero.

Source: will.com

Tāpiri i te kōrero