Cholembachi chinalembedwa chifukwa ogwira ntchito athu anali ndi zokambirana zingapo ndi makasitomala pakupanga mapulogalamu pa Kubernetes komanso zachitukuko chotere pa OpenShift.
Nthawi zambiri timayamba ndi lingaliro lakuti Kubernetes ndi Kubernetes basi, ndipo OpenShift ili kale nsanja ya Kubernetes, monga Microsoft AKS kapena Amazon EKS. Iliyonse mwa nsanjayi ili ndi zabwino zake, zomwe zimayang'ana pa omvera omwe akufuna. Ndipo pambuyo pake, zokambiranazo zikuyenda kale mu kuyerekezera mphamvu ndi zofooka za nsanja zenizeni.
Nthawi zambiri, tidaganiza zolemba izi ndikutulutsa ngati "Mvetserani, zilibe kanthu komwe mumathamangitsira code, pa OpenShift kapena pa AKS, pa EKS, pa Kubernetes, inde pa Kubernetes iliyonse. (tiyeni titchule kuti KUK mwachidule) "Ndizosavuta, apo ndi apo."
Kenako tinakonzekera kutenga "Moni Padziko Lonse" losavuta kwambiri ndikuligwiritsa ntchito kuwonetsa zomwe zili zofala komanso kusiyana kotani pakati pa CMC ndi Red Hat OpenShift Container Platform (pambuyo pake, OCP kapena OpenShift chabe).
Nthawi zambiri, nthawi yafika yolapa mwachangu, ndipo tsopano tiyerekeza pang'onopang'ono kutumidwa kwa "Moni World" pa KUK ndi OpenShift, ndipo tidzachita moyenera momwe tingathere (chabwino, kupatula nthawi zina kusonyeza munthu payekha). maganizo pa phunziro). Ngati muli ndi chidwi ndi maganizo mwangwiro subjective pa nkhaniyi, ndiye inu mukhoza kuwerenga apa (EN). Ndipo mu positi iyi tidzakakamira ku zowona ndi zowona zokha.
Magulu
Chifukwa chake, "Moni Dziko" likufunika magulu. Tiyeni tingonena kuti "ayi" kumitambo yapagulu, kuti tisalipire ma seva, zolembetsa, ma network, kusamutsa deta, ndi zina zambiri. Chifukwa chake, timasankha gulu losavuta la node imodzi Minikube (za KUK) ndi Makina Okonzekera Makhalidwe (kwa gulu la OpenShift). Zonse ziwirizi ndizosavuta kukhazikitsa, koma zimafuna zinthu zambiri pa laputopu yanu.
Ndi lamulo ili, tidauza COOK wathu kuti apange masinthidwe otumizira, omwe akuyenera kukhala ndi mawonekedwe amtundu wa chidebe chathu. Lamuloli ligwiritsanso ntchito masinthidwe awa pagulu lathu la minikube, ndikupanga kutumiza komwe kutsitsa chidebe chathu ndikuyendetsa poto pagulu.
Khwerero 5 - tsegulani mwayi wautumiki wathu
Tsopano popeza tili ndi chithunzi cha chidebe chomwe chayikidwa, ndi nthawi yoti tiganizire momwe tingakhazikitsire mwayi wopezeka kunja kwa ntchito ya Restful iyi, yomwe, kwenikweni, idakonzedwa mu code yathu.
Tiyeni tikhazikike pa "-type" kusankha kwa lamulo lowonekera kwakanthawi.
Pamene tiwulula ndikupanga zigawo zofunikira kuti tiyendetse ntchito yathu, tifunika, mwa zina, kuti tithe kulumikizana kuchokera kunja kupita ku hello-quarkus service yomwe imakhala mkati mwa netiweki yathu yofotokozedwa ndi mapulogalamu. Ndipo parameter mtundu amatilola kupanga ndi kulumikiza zinthu monga zolemetsa zolemetsa kuti tiyendetse magalimoto ku netiweki imeneyo.
Mwachitsanzo, kulemba type=LoadBalancer, timangoyambitsa basi cloud load balancer kuti tigwirizane ndi gulu lathu la Kubernetes. Izi, zachidziwikire, ndizabwino, koma muyenera kumvetsetsa kuti kusinthika kotereku kumangiriridwa mwamphamvu kumtambo wapagulu ndipo kudzakhala kovuta kwambiri kusamutsa pakati pa zochitika za Kubernetes m'malo osiyanasiyana.
Mu chitsanzo chathu type=NodePort, ndiko kuti, kuyitanira ku ntchito yathu kumapita ndi adilesi ya IP ya node ndi nambala ya doko. Njirayi imakulolani kuti musagwiritse ntchito mitambo yapagulu, koma imafuna njira zingapo zowonjezera. Choyamba, mukufunikira katundu wanu wolemetsa, kotero tidzatumiza NGINX load balancer mu gulu lathu.
Khwerero 6 - Konzani chowongolera katundu
minikube ili ndi zida zingapo zamapulatifomu zomwe zimapangitsa kuti zikhale zosavuta kupanga zida zomwe mukufuna kuti mupeze zakunja, monga olamulira a ingress. Minikube imabwera yodzaza ndi wolamulira wa Nginx ingress, ndipo zomwe tiyenera kuchita ndikuziyambitsa ndikuzikonza.
minikube addons enable ingress
Tsopano, ndi lamulo limodzi lokha, tipanga chowongolera cha Nginx chomwe chidzagwira ntchito mkati mwa gulu lathu la minikube:
Popeza tikuchita zonsezi pamakina athu, timangowonjezera adilesi yathu ya IP ku fayilo / etc/hosts kuti tiwongolere zopempha za http ku minikube yathu ku NGINX load balancer.
192.168.99.100 hello-quarkus.info
Ndizomwezo, tsopano ntchito yathu ya minikube ikupezeka kuchokera kunja kudzera pa Nginx ingress controller.
Ndipo tsopano tiyeni tiwone momwe zonse zimachitikira pa Red Hat OpenShift Container Platform (OCP).
Monga momwe zilili ndi minikube, timasankha chiwembu chokhala ndi gulu limodzi la OpenShift mu mawonekedwe a Code Ready Containers (CRC). Imatchedwa minishift ndipo idakhazikitsidwa ndi OpenShift Origin projekiti, koma tsopano ndi CRC ndipo idamangidwa pa Red Hat's OpenShift Container Platform.
Pano, pepani, sitingachitire mwina koma kunena kuti: "OpenShift ndiyabwino!"
Poyambirira, tidaganiza zolemba kuti chitukuko pa OpenShift sichosiyana ndi chitukuko cha Kubernetes. Ndipo zoona zake nβzakuti ndi mmene zilili. Koma polemba positiyi, tidakumbukira mayendedwe angati osafunikira omwe muyenera kupanga mukakhala mulibe OpenShift, chifukwa chake, ndizokongola. Timakonda kuti zinthu zikhale zosavuta, ndipo ndizosavuta kuyika ndikuyendetsa chitsanzo chathu pa OpenShift poyerekeza ndi minikube ndizomwe zidatilimbikitsa kulemba izi.
Chifukwa chake mu chitsanzo cha minikube, tidayamba ndi Docker⦠Dikirani, sitikufunanso Docker kuyikanso pamakina.
Ndipo sitifuna git yakomweko.
Ndipo Maven sikufunika.
Ndipo simuyenera kupanga chithunzi cha chidebe ndi dzanja.
Ndipo simuyenera kuyang'ana malo aliwonse azithunzi zachidebe.
Ndipo simuyenera kukhazikitsa chowongolera cha ingress.
Ndipo simuyeneranso kukonza ingress.
Kodi mukumvetsetsa? Kuti tigwiritse ntchito ndikuyendetsa pulogalamu yathu pa OpenShift, palibe chomwe chili pamwambapa chomwe chikufunika. Ndipo ndondomeko yokha ili motere.
Khwerero 1 - Kuyambitsa Gulu Lanu la OpenShift
Timagwiritsa ntchito Code Ready Containers kuchokera ku Red Hat, yomwe ili yofanana ndi Minikube, koma yokhala ndi gulu limodzi la Openshift lathunthu.
crc start
Khwerero 2 - Pangani ndi Kutumiza Ntchito ku OpenShift Cluster
Apa ndipamene kuphweka ndi kuphweka kwa OpenShift kumadziwonetsera mu ulemerero wake wonse. Monga momwe zimagawira Kubernetes, tili ndi njira zambiri zoyendetsera ntchito pamagulu. Ndipo, monga momwe zilili ndi KUK, timasankha chosavuta kwambiri.
OpenShift yakhala ikumangidwa ngati nsanja yomangira ndikuyendetsa mapulogalamu okhala ndi zida. Zotengera zomanga nthawi zonse zakhala gawo lofunikira papulatifomu, chifukwa chake pali zinthu zambiri zowonjezera za Kubernetes pazantchito zofananira.
Tikhala tikugwiritsa ntchito njira ya OpenShift's Source 2 Image (S2I), yomwe ili ndi njira zingapo zotengera gwero lathu (ma code kapena binaries) ndikusandutsa chithunzi chokhala ndi zingwe zomwe zimayenda pagulu la OpenShift.
Pali zithunzi zambiri zotere, zosungidwa ndi Red Hat ndi anthu ammudzi, ndipo tidzagwiritsa ntchito chithunzi cha OpenJDK, chabwino, popeza ndikupanga Java application.
Mutha kuyendetsa S2I yomanga zonse kuchokera ku OpenShift Developer graphical console komanso kuchokera pamzere wamalamulo. Tigwiritsa ntchito lamulo latsopano la pulogalamu, ndikuwuza komwe tingapeze chithunzi cha omanga ndi code yathu yoyambira.
Adapanga chithunzi chatsopano chokhala ndi pulogalamu ya Java yophatikizidwa ndikuyika chithunzichi mu registry yamkati yamkati.
Adapanga Kubernetes Deployment yokhala ndi mawonekedwe a pod, service, etc.
Anayambitsa chithunzi cha deploy container.
Yachotsedwa ntchito build-pod.
Pali zambiri pamndandandawu, koma chachikulu ndikuti kumanga konse kumachitika mkati mwa OpenShift, registry yamkati ya Docker ili mkati mwa OpenShift, ndipo njira yomanga imapanga zigawo zonse za Kubernetes ndikuziyendetsa pagulu.
Ngati mukuwona kukhazikitsidwa kwa S2I mu kontrakitala, mutha kuwona momwe ma pod amayambira pakumanga.
Ndipo tsopano tiyeni tiwone zipika za omanga pod: choyamba, pamenepo mutha kuwona momwe maven amagwirira ntchito yake ndikutsitsa kudalira kuti timange pulogalamu yathu ya java.
Kumanga kwa maven kukamalizidwa, kumangidwa kwa chidebecho kumayambika, ndiyeno chithunzi chomangidwachi chimatumizidwa kumalo osungira mkati.
Chilichonse, ntchito yosonkhanitsa yatsirizidwa. Tsopano tiyeni tiwonetsetse kuti ma pod ndi ntchito za pulogalamu yathu zayamba mgulu.
Monga momwe zilili ndi KUK, pa OpenShift nsanja, "Hello World" yathu ikufunikanso rauta kuti iwongolere magalimoto akunja ku ntchito mkati mwa tsango. Mu OpenShift izi zimapangitsa kuti zikhale zosavuta. Choyamba, gawo la HAProxy routing limayikidwa mgulu mwachisawawa (litha kusinthidwa kukhala NGINX yomweyo). Kachiwiri, pali zida zapadera komanso zosinthika kwambiri zomwe zimatchedwa Routes, zomwe zimakumbutsa zinthu za Ingress mu Kubernetes zakale (makamaka, Njira za OpenShift zidakhudza kwambiri mapangidwe azinthu za Ingress, zomwe zitha kugwiritsidwa ntchito ku OpenShift) , koma "Moni wathu" World", ndipo pafupifupi nthawi zina zonse, Njira yokhazikika ndiyokwanira kwa ife popanda kukonzanso kwina.
Kuti mupange FQDN yosinthika ya "Moni Padziko Lonse" (inde, OpenShiift ili ndi DNS yake yoyendetsera ndi mayina a mautumiki), timangowulula ntchito yathu: