Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Boostada waxaa loo qoray sababtoo ah shaqaalaheennu waxay la yeesheen wadahadallo badan oo ku saabsan horumarinta codsiga Kubernetes iyo waxyaabaha gaarka ah ee horumarka noocan oo kale ah ee OpenShift.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Caadi ahaan waxaan ku bilownaa qoraalka ah in Kubernetes uu yahay kaliya Kubernetes, OpenShift-na mar horeba waa madal Kubernetes, sida Microsoft AKS ama Amazon EKS. Mid kasta oo ka mid ah goobahan ayaa leh faa'iidooyin u gaar ah, oo loogu talagalay daawadayaasha bartilmaameedka ah. Taas ka dib, sheekadu waxay u leexanaysaa isbarbardhigga meelaha ku wanaagsan iyo meelaha ay ku liidato.

Guud ahaan, waxaan ku fikirnay inaan ku qorno boostada gabagabada sida "Dhageyso, dhib ma leh meesha laga maamulo koodka, OpenShift ama AKS, EKS, Kubernetes caado ah, ama wax kasta oo Kubernetes ah (marka la soo koobo aan ugu yeerno KUK) "Runtii way fududahay, labadaba halkaas iyo halkaas."

Ka dib waxaan qorsheynay inaan qaadno midka ugu fudud "Hello World" oo aan isticmaalno tusaalaha si aan u muujinno waxa caadiga ah iyo waxa ay ku kala duwan yihiin KUC iyo Koonteenarka Koontaynar ee OpenShift (hadaad, OCP ama si fudud OpenShift).

Si kastaba ha noqotee, sidii aan u qornay boostada, waxaan ogaanay inaan si aad ah u isticmaalnay isticmaalka OpenShift muddo dheer taas oo aynaan si fudud u ogaanin sida ay u kortay oo ay u noqotay goob cajiib ah oo noqotay wax ka badan qaybinta Kubernetes. Waxaan u janjeernaa inaan u qaadanno qaan-gaarnimada iyo fududaanta OpenShift, oo aan lumino aragtida dhalaalkeeda.

Guud ahaan, waxaa la gaaray waqtigii towbad keenka firfircooni lahayd, hadda waxaan tillaabo tallaabo ah is barbardhigi doonnaa hawlgelinta β€œHello World” ee KUK iyo OpenShift, tanna waxaan u sameyn doonnaa sida macquulka ah ee suurtogalka ah (si fiican, marka laga reebo in aan mararka qaarkood muujinno a dabeecadda shakhsi ahaaneed ee mawduuca). Haddii aad xiisaynayso ra'yi kali ah oo ku saabsan arrintan, waad akhrin kartaa halkan (EN). Iyo qoraalkan waxaan ku dhejin doonaa xaqiiqda iyo kaliya xaqiiqooyinka.

Kooxaha

Markaa, "Adduunyada Hello" waxay u baahan tahay kooxo. Waxaan isla markiiba ku nidhaahnaa "maya" daruuraha dadweynaha, si aanaan u bixin kharashyada server-yada, diiwaanka, shabakadaha, wareejinta xogta, iwm. Sidaas awgeed, waxaanu ku dooranaynaa koox hal-node ah oo fudud Minikube (KUK) iyo Weelasha Diyaar u ah Koodhka (kutlada OpenShift). Labadan xulasho runtii aad bay u fududahay in la rakibo, laakiin waxay u baahan doonaan ilo badan oo laptop-kaaga ah.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Golaha on KUK-e

Markaa ina keen.

Tallaabada 1 - dhisida sawirka weelkayaga

Aan ku bilowno in aan geyno "Hello World" ee minikube. Si aad tan u samayso waxaad u baahan doontaa:

  1. 1. Docker la rakibay.
  2. 2. Git la rakibay.
  3. 3. Installed Maven (dhab ahaantii, mashruucani waxa uu isticmaalaa binary mvnw, si aad u samayn karto la'aanteed).
  4. 4. Dhab ahaantii, isha lafteeda, i.e. clone kayd ah github.com/gcolman/quarkus-hello-world.git

Tallaabada ugu horreysa waa in la abuuro mashruuc Quarkus ah. Ha ka welwelin haddii aanad waligaa la shaqayn Quarkus.io - way fududahay. Kaliya waxaad doorataa qaybaha aad rabto inaad ku isticmaasho mashruuca (RestEasy, Hibernate, Amazon SQS, Camel, iwm.), ka dibna Quarkus laftiisa, iyada oo aan midna ka qaybqaadashadaada ahayn, wuxuu dejiyaa maven archetype oo wax walba ku dheji github. Taasi waa, macno ahaan hal gujin oo jiirka ah oo aad samaysay. Tani waa sababta aan u jecelnahay Quarkus.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Habka ugu fudud ee lagu dhisi karo "Hello World" ee sawirka weelka waa in la isticmaalo kordhinta quarkus-maven ee Docker, kaas oo qaban doona dhammaan shaqada lagama maarmaanka ah. Imaanshaha Quarkus, tani waxay noqotay runtii mid fudud oo fudud: ku dar weelka-image-docker kordhinta oo waxaad abuuri kartaa sawirro adoo adeegsanaya amarrada maven.

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

Ugu dambeyntii, waxaan dhiseynaa muuqaalkeena anagoo adeegsanayna Maven. Natiijo ahaan, koodka ishayagu wuxuu isu beddelaa sawir weel diyaar ah oo mar horeba lagu dhex wadi karo deegaanka runtime-ka.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

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

Taasi waa intaas, hadda waxaad ku bilaabi kartaa weelka adigoo raacaya amarka docker run, adoo khariidaynta adeegayaga ku dhejinaya dekedda 8080 si loo galo.

docker run -i β€” rm -p 8080:8080 gcolman/quarkus-hello-world

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Ka dib marka tusaalaha weelka uu bilowdo, waxa soo haray waa in la hubiyo amarka curlka ee adeegeena uu socdo:

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Markaa wax walba way shaqeeyaan oo runtii way fududahay oo way fududahay.

Tallaabada 2 - U dir weelkayaga kaydka sawirka weelka

Hadda, sawirka aanu samaynay waxa lagu kaydiyaa gudaha, kaydinta weelasha maxaliga ah. Haddii aan rabno in aan u isticmaalno sawirkan deegaankeena COOK, markaas waa in lagu dhejiyaa meelo kale oo kayd ah. Kubernetes ma laha astaamo noocaas ah, markaa waxaan isticmaali doonaa dockerhub. Sababtoo ah, marka hore, waa bilaash, marka labaadna, (ku dhawaad) qof kastaa wuu sameeyaa.

Tani sidoo kale waa mid aad u fudud, oo waxa kaliya ee aad u baahan tahay waa koontada dockerhub.

Markaa, waxaan rakibnay dockerhub oo sawirkayaga halkaas u dirnay.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Tallaabada 3 - soo saar Kubernetes

Waxaa jira siyaabo badan oo lagu ururiyo qaabeynta kubernetes si aan u maamulno "Hello World", laakiin waxaan isticmaali doonaa kuwa ugu fudud, taasi waa habka aan nahay ...

Marka hore, aan bilowno kooxda minikube:

minikube start

Tallaabada 4 – dhig sawirka weelkayaga

Hadda waxaan u baahanahay inaan u beddelno koodkayaga iyo sawirka weelka qaabaynta kubernetes. Si kale haddii loo dhigo, waxaan u baahanahay qeexitaan boodh iyo geyn tilmaamaya sawirka weelka ee dockerhub. Mid ka mid ah siyaabaha ugu fudud ee tan loo sameeyo waa in la maamulo abuurista amarka geynta ee tilmaamaya sawirkayaga:

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

kubectl create deployment hello-quarkus β€” image =gcolman/quarkus-hello-world:1.0.0-SNAPSHOT

Amarkan waxaanu u sheegnay COO-gayada si aanu u abuurno qaabaynta meelaynta, kaas oo ka koobnaan doona cadarka sawirka weelkayaga. Amarkan waxa kale oo uu ku dabaqi doonaa qaabayntan kooxdayada minikube, oo abuuri doona hawlgelin soo dejin doonta sawirka weelka oo soo saari doona podka kutlada.

Talaabada 5 – fur gelitaanka adeegayaga

Hadda oo aanu hayno sawirka weelka, waa waqtigii laga fikiri lahaa sida loo habayn lahaa gelitaanka dibadda ee adeegan Nasashada ah, kaas oo, dhab ahaantii, lagu diyaariyay koodkayaga.

Waxaa jira siyaabo badan halkan. Tusaale ahaan, waxaad isticmaali kartaa amarka bandhigga si aad si toos ah u abuurto qaybaha Kubernetes ee ku habboon, sida adeegyada iyo dhammaadka. Dhab ahaantii, kani waa waxa aanu samayn doono annagoo fulinayna amarka qaawan ee shayga diritaanka:

kubectl expose deployment hello-quarkus β€” type=NodePort β€” port=8080

Aan wax yar qaadanno si aan u eegno ikhtiyaarka "-type" ee amarka kashifidda.

Marka aan soo bandhigno oo aan abuurno qaybaha lagama maarmaanka ah si aan u socodsiino adeegeena, annagu, waxyaabo kale, waxaan u baahanahay inaan awoodno inaan ku xirno dibadda iyo adeegga hello-quarkus, kaas oo ku fadhiya gudaha shabakadeena ku qeexan software-ka. Iyo halbeegga nooca waxay noo ogolaataa inaanu abuurno oo aanu isku xidhno waxyaabo ay ka mid yihiin kuwa culayska qaada si aanu u marino taraafikada shabakadan.

Tusaale ahaan, qoraal ahaan nooca=LoadBalancer, waxaanu si toos ah u bixinaa miisaan-dhaliye culayska daruuraha dadweynaha si aanu ugu xidhno kooxdayada Kubernetes. Tani, dabcan, waa mid aad u fiican, laakiin waxaad u baahan tahay inaad fahamto in qaabkan oo kale uu si adag ugu xidhi doono daruur dadweyne oo gaar ah oo ay aad u adkaan doonto in lagu wareejiyo inta u dhaxaysa xaaladaha Kubernetes ee deegaanno kala duwan.

Tusaalahayaga nooca=NodePort, taas oo ah, adeegeena waxaa lagu galaa ciwaanka IP-ga ee noodhka iyo lambarka dekedda. Doorashadani waxay kuu ogolaanaysaa inaadan isticmaalin wax daruuro dadweyne ah, laakiin waxay u baahan tahay tiro tillaabo dheeraad ah. Marka hore, waxaad u baahan tahay isku-dheellitirka culeyskaaga, marka waxaan geyn doonaa isku dheellitirka culeyska NGINX ee kutladayada.

Talaabada 6-aad ku rakib miisaan-dhaliye

minikube waxa ay leedahay tiro ka mid ah hawlaha madal taas oo sahlaysa in la abuuro qaybo dibadda laga heli karo, sida kontaroolayaasha gudaha. Minikube waxa ay la socotaa kontoroolka ingress-ka ee Nginx, waxa kaliya ee ay tahay in aan sameyno waa in aan awoodno oo aan habeyno.

minikube addons enable ingress

Hadda waxaan abuuri doonaa kontaroolaha gudaha Nginx oo leh hal amar, kaas oo ka shaqeyn doona gudaha kooxdayada minikube:

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

Talaabada 7 - Dejinta soo galitaanka

Hadda waxaan u baahanahay inaan habeyno koontaroolaha soo galitaanka Nginx si uu u aqbalo codsiyada hello-quarkus.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Ugu dambeyntiina, waxaan u baahanahay inaan codsano qaabeyntan.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

kubectl apply -f ingress.yml

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Maadaama aan waxaas oo dhan ku samaynayno kombuyuutarkeena, waxaan si fudud ugu darnaa noode's IP address-ka /etc/ hosts file si aan u marino codsiyada http ee minikube-kayaga miisaanka culeyska NGINX.

192.168.99.100 hello-quarkus.info

Taasi waa sidaas, hadda adeegeena minikube waxaa laga heli karaa dibadda iyada oo loo marayo kontaroolaha gudaha ee Nginx.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Hagaag, taasi way fududahay, sax? Mise aad uma badna?

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Ku shaqaynta OpenShift ( Koonteenarada Diyaarsan Koodhka)

Hadda aan aragno sida waxaas oo dhan loogu sameeyay Platform Container Platform (OCP) Koofiyada Cas ee OpenShift.

Sida minikube, waxaanu dooranaa naqshad hal-node ah oo OpenShift ah oo qaabaysan qaab Koonteenarada Diyaarsan (CRC). Markii hore, waxaa loogu yeeri jiray minishift waxayna ku saleysan tahay mashruuca OpenShift Origin, laakiin hadda waa CRC oo lagu dhisay Platform Container Platform ee Koofiyadda Cas ee OpenShift.

Halkan, waan ka xunnahay, kama caawin karno inaan dhahno: "OpenShift waa cajiib!"

Markii hore, waxaan ku fikirnay inaan qorno in horumarka OpenShift uusan ka duwanayn horumarka Kubernetes. Nuxur ahaanna waa sida ay tahay. Laakiin habka qorista boostadan, waxaanu xasuusanay inta dhaqdhaqaaq ee dheeraadka ah ee aad samaynayso marka aanad haysan OpenShift, taasina waa sababta, mar kale, waa wax cajiib ah. Waxaan jecelnahay marka wax walba si fudud loo sameeyo, iyo sida ay u fududahay tusaalaheennu waa in la geeyo oo aan ku shaqeyno OpenShift marka la barbardhigo minikube waa waxa nagu kalifay inaan qorno boostadan.

Aan marno habka oo aan aragno waxa aan u baahanahay inaan sameyno.

Marka, tusaale ahaan minikube, waxaan ku bilownay Docker... Sug, uma baahnin Docker lagu rakibo mishiinka.

Oo uma baahnin git maxalli ah.
Mavenna looma baahna.
Oo uma baahnid inaad ku abuurto sawirka weelka gacmahaaga.
Oo uma baahnid inaad raadiso wax kayd ah sawirada weelka.
Oo ma jirto baahi loo qabo in la rakibo kontaroolaha gudaha.
Oo uma baahnid inaad habayso soo gelida midkoodna.

Waad fahantay, sax? Si aad u dirto oo aad u socodsiiso codsigayaga OpenShift, uma baahnid mid ka mid ah kuwa kor ku xusan. Habka laftiisana wuxuu u eg yahay sidan.

Talaabada 1 – Bilow kooxdaada OpenShift

Waxaan isticmaalnaa Koonteenarada Diyaarsan ee Koofiyad Cas, taas oo asal ahaan isku mid ah Minikube, laakiin leh kaliya hal-node furan oo buuxa.

crc start

Tallaabada 2 - Dhis oo geyso codsiga kooxda OpenShift

Waa tallaabadan in fududaynta iyo ku habboonaanta OpenShift ay muujinayso dhammaan ammaanteeda. Sida dhammaan Kubernetes qaybinta, waxaan haynaa siyaabo badan oo lagu socodsiiyo codsiga kutlada. Iyo, sida kiiska KUK, waxaanu si gaar ah u dooranaa midka ugu fudud.

OpenShift had iyo jeer waxaa loo dhisay sidii madal lagu abuuro laguna socodsiiyo codsiyada weelaysan. Dhismaha weelku wuxuu had iyo jeer ahaa qayb muhiim ah oo ka mid ah goobtan, sidaa darteed waxaa jira tiro badan oo ah ilaha Kubernetes ee hawlaha la xiriira.

Waxaan adeegsan doonaa habka OpenShift's Source 2 Image (S2I), kaas oo leh dhowr siyaabood oo kala duwan oo lagu qaadan karo ishayada (koodka ama binaries) oo aan u rogno sawir weel lagu shubay oo ku shaqeeya kooxda OpenShift.

Si tan loo sameeyo waxaan u baahanahay laba shay:

  • Koodhka ishayadu waxa uu ku yaalaa git repository
  • Sawirka wax-dhisaha oo ku salaysan dhismaha la samayn doono.

Waxaa jira sawirro badan oo noocan oo kale ah oo ay ilaaliso Koofiyada Cas iyo heerka beesha labadaba, waxaanan isticmaali doonaa sawirka OpenJDK, si fiican, maadaama aan dhisayo codsiga Java.

Waxaad ku wadi kartaa dhismaha S2I labadaba laga bilaabo OpenShift Developer console garaafyada iyo khadka taliska. Waxaan isticmaali doonaa amarka cusub-app, u sheeg meesha laga helo sawirka wax dhisaha iyo koodka ishayada.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

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

Taasi waa, codsigayaga waa la abuuray. Marka sidaas la samaynayo, habka S2I wuxuu sameeyay waxyaabaha soo socda:

  • U sameeyay qalab-dhis adeeg oo loogu talagalay dhammaan noocyada waxyaabaha la xiriira dhisidda arjiga.
  • Wuxuu sameeyay isku xidhka OpenShift Build.
  • Waxaan soo dejiyay sawirka wax-dhisaha gudaha diiwaanka gudaha ee OpenShift docker.
  • Lagu xidhay "Hello World" kaydka deegaanka.
  • Waxaan arkay in meeshaas uu jiro maven pom, markaa waxaan soo ururiyay codsigii anigoo isticmaalaya maven.
  • Sameeyay sawir weel cusub oo ka kooban arjiga Java ee la soo ururiyay oo sawirkan galiyay diiwaanka weelka gudaha.
  • La sameeyay Kubernetes Gelintii oo leh tilmaamo loogu talagalay pod, adeegga, iwm.
  • Waxaan bilaabay inaan geeyo sawirka weelka
  • Waxa meesha ka saaray dhismihii adeega

Wax badan ayaa ku jira liiskan, laakiin waxa ugu weyn ayaa ah in dhismaha oo dhan uu si gaar ah uga dhaco gudaha OpenShift, diiwaanka Docker-ka gudaha waxa uu ku yaalaa gudaha OpenShift, habka dhismuhuna waxa uu abuuraa dhammaan qaybaha Kubernetes oo uu ku dhex wado kooxda.

Haddii aad si muuqaal ah ula socoto bilawga S2I ee console-ka, waxaad arki kartaa sida boodhka dhismaha loo bilaabay marka dhismuhu dhammaado.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Hadda aan eegno gundhigga wax-dhisaha: marka hore, waxay muujineysaa sida maven u qabto shaqadiisa oo uu u soo dejiyo ku tiirsanaanta si loo dhiso codsigeena java.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Ka dib marka la dhammeeyo dhismaha maven, dhismaha sawirka weelka ayaa la bilaabayaa, ka dibna sawirka la dhisay ayaa loo diraa kaydka gudaha.

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Taasi waa, habka dhismuhu waa dhammaystiran yahay. Hadda aan hubinno in galalka iyo adeegyada dalabkayaga ay ku dhex socdaan kooxda.

oc get service

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Waa intaas. Iyo hal koox oo kaliya. Waxa kaliya ee ay tahay inaan sameyno waa inaan soo bandhigno adeegan si aan dibadda uga soo galno.

Talaabada 3 – soo bandhig adeega si aad dibada uga soo gasho

Sida kiiska KUC, goobta OpenShift ee "Hello World" waxay sidoo kale u baahan tahay router si uu u hago taraafikada dibadda adeegga gudaha kooxda. OpenShift ayaa tan ka dhigaysa mid aad u fudud. Marka hore, qaybta dariiqa HAProxy waxaa lagu rakibay kutlada si caadi ah (waxaa loo bedeli karaa isla NGINX). Marka labaad, waxaa jira ilo gaar ah oo si heer sare ah loo habeyn karo oo loo yaqaan Waddooyinka iyo xusuusta walxaha Ingress-ka ee Kubernetes hore (xaqiiqda, Wadooyinka OpenShift's Routes ayaa si weyn u saameeyay naqshadeynta walxaha Ingress, kaas oo hadda loo isticmaali karo OpenShift), laakiin loogu talagalay "Hello World" , iyo ku dhawaad ​​dhammaan kiisaska kale, Jidka caadiga ah ayaa nagu filan iyada oo aan lahayn qaabeyn dheeri ah.

Si aad u abuurto FQDN habaysan oo loogu talagalay "Hello World" (haa, OpenShiift waxay leedahay DNS u gaar ah oo loogu talagalay ku wareejinta magacyada adeegga), waxaan si fudud u soo bandhigi doonaa adeegeena:

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

oc expose service quarkus-hello-world

Haddii aad eegto Jidka cusub ee la sameeyay, waxa aad ka heli kartaa FQDN-ka iyo macluumaadka kale ee habaynta halkaas:

oc get route

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Ugu dambeyntiina, waxaan ka galeynaa adeegeena browserka:

Waan ka xumahay, OpenShift, kumaanu mahad naqdin in kugu filan oo waxaan kuu qaadanay run

Laakiin hadda runtii way fududahay!

Waxaan jecelnahay Kubernetes iyo wax kasta oo tignoolajiyadani noo ogolaato inaan sameyno, sidoo kale waxaan jecelnahay fududaanta iyo fududaanta. Kubernetes waxaa loo abuuray in si cajiib ah loo fududeeyo hawlgalka weelasha la qaybiyey, laakiin fududaynteeda kuma filna in ay codsiyada soo saarto wax soo saarka maanta. Tani waa halka uu OpenShift ka soo galayo ciyaarta, isaga oo la jaan qaadaya wakhtiyada iyo bixinta Kubernetes, oo loogu talagalay horumariyaha. Dadaal badan ayaa la galiyay si loogu tolo madal OpenShift si gaar ah loogu talagalay horumariyaha, oo ay ku jiraan abuurista aalado ay ka mid yihiin S2I, ODI, Developer Portal, OpenShift Operator Framework, is dhexgalka IDE, Catalogues soo saareyaasha, is dhexgalka Helm, la socodka iyo qaar kale oo badan.

Waxaan rajeyneynaa in maqaalkani uu ahaa mid xiiso leh oo waxtar kuu leh. Waxaad ka heli kartaa ilo dheeri ah, agab iyo waxyaabo kale oo waxtar u leh horumarka goobta OpenShift ee ku taal bogga Horumarinta Koofiyada Cas.

Source: www.habr.com

Add a comment