{"id":97254,"date":"2020-10-17T02:42:32","date_gmt":"2020-10-17T00:42:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe"},"modified":"2020-10-17T02:42:32","modified_gmt":"2020-10-17T00:42:32","slug":"prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe","title":{"rendered":"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ez a bejegyz\u00e9s az\u00e9rt \u00edr\u00f3dott, mert munkat\u00e1rsaink sokat besz\u00e9ltek az \u00fcgyfelekkel az alkalmaz\u00e1sok Kubernetes-en t\u00f6rt\u00e9n\u0151 fejleszt\u00e9s\u00e9r\u0151l \u00e9s az OpenShift-en val\u00f3 specifikus fejleszt\u00e9sr\u0151l.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/ad447aeb80d3ae56ea4598cd959456de.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c1ltal\u00e1ban azzal kezdj\u00fck, hogy a Kubernetes egyszer\u0171en Kubernetes, m\u00edg az OpenShift m\u00e1r egy Kubernetes-alap\u00fa platform, mint p\u00e9ld\u00e1ul a Microsoft AKS vagy az Amazon EKS. Ezeknek a platformoknak megvannak a saj\u00e1t el\u0151nyeik, amelyek egyedi c\u00e9lk\u00f6z\u00f6ns\u00e9gre ir\u00e1nyulnak. Ezut\u00e1n a besz\u00e9lget\u00e9s m\u00e1r az egyes platformok er\u0151ss\u00e9geinek \u00e9s gyenges\u00e9geinek \u00f6sszehasonl\u00edt\u00e1s\u00e1ba torkollik.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u00d6sszess\u00e9g\u00e9ben azt gondoltuk, hogy ezt a bejegyz\u00e9st egy olyan k\u00f6vetkeztet\u00e9ssel z\u00e1rjuk, mint: \"Figyeljetek, mindegy, hol futtatj\u00e1tok a k\u00f3dot, OpenShift-en vagy AKS-en, EKS-en, b\u00e1rmilyen testreszabott Kubernetes-en, ak\u00e1rmilyen Kubernetes-en\" <i>(a r\u00f6vids\u00e9g kedv\u00e9\u00e9rt h\u00edvjuk KUK-nak)<\/i> \u2013 ez t\u00e9nyleg egyszer\u0171, ott is, \u00e9s itt is.<\/p>\n<p>Ezut\u00e1n tervezt\u00fck, hogy egy egyszer\u0171 \"Hello World\" p\u00e9ld\u00e1val megmutatjuk, hogy mi a k\u00f6z\u00f6s \u00e9s mi a k\u00fcl\u00f6nbs\u00e9g a KUK \u00e9s a Red Hat OpenShift Container Platform (ezut\u00e1n OCP vagy egyszer\u0171en OpenShift) k\u00f6z\u00f6tt.<\/p>\n<p>Azonban ennek a bejegyz\u00e9snek az \u00edr\u00e1sa k\u00f6zben r\u00e1j\u00f6tt\u00fcnk, hogy annyira hozz\u00e1szoktunk az OpenShift haszn\u00e1lat\u00e1hoz, hogy egyszer\u0171en nem tudjuk, mennyire megn\u0151tt \u00e9s mennyire leny\u0171g\u00f6z\u0151 platform lett, amely m\u00e1r j\u00f3val t\u00fal van a puszt\u00e1n Kubernetes disztrib\u00faci\u00f3n. Hozz\u00e1szoktunk ahhoz, hogy az OpenShift \u00e9retts\u00e9g\u00e9t \u00e9s egyszer\u0171s\u00e9g\u00e9t term\u00e9szetesnek vegy\u00fck, figyelmen k\u00edv\u00fcl hagyva annak nagyszer\u0171s\u00e9g\u00e9t.<\/p>\n<p>\u00d6sszess\u00e9g\u00e9ben elj\u00f6tt az akt\u00edv megb\u00e1n\u00e1s ideje, \u00e9s most l\u00e9p\u00e9sr\u0151l l\u00e9p\u00e9sre \u00f6sszehasonl\u00edtjuk a \"Hello World\" bevezet\u00e9s\u00e9t a KUK-ban \u00e9s az OpenShift-en, \u00e9s ezt a lehet\u0151 legobjekt\u00edvebben tessz\u00fck (b\u00e1r n\u00e9ha szem\u00e9lyes v\u00e9lem\u00e9ny\u00fcnket is kifejezz\u00fck a t\u00e9m\u00e1val kapcsolatban). Ha titeket puszt\u00e1n szubjekt\u00edv v\u00e9lem\u00e9ny \u00e9rdekel err\u0151l, azt el lehet olvasni <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/swlh\/im-so-sorry-openshift-i-ve-taken-you-for-granted-f36fb47ea4d9\">itt (EN)<\/a><\/noindex>. Ebben a bejegyz\u00e9sben azonban a t\u00e9nyekre \u00e9s csakis a t\u00e9nyekre fogunk \u00f6sszpontos\u00edtani.<\/p>\n<h3>Kluster<\/h3>\n<p>\nTeh\u00e1t a \"Hello World\"-\u00fcnkh\u00f6z sz\u00fcks\u00e9g\u00fcnk van klaszterekre. Azonnal elmondjuk, hogy \"nem\" a nyilv\u00e1nos felh\u0151knek, hogy ne kelljen fizetn\u00fcnk a szerverek\u00e9rt, t\u00e1rol\u00f3k\u00e9rt, h\u00e1l\u00f3zat\u00e9rt, adat\u00e1tvitel\u00e9rt stb. Teh\u00e1t egy egyszer\u0171 egycsom\u00f3pontos klasztert v\u00e1lasztunk a <noindex><a rel=\"nofollow\" href=\"https:\/\/minikube.sigs.k8s.io\/docs\/start\/\">Minikube<\/a><\/noindex> (KUK sz\u00e1m\u00e1ra) \u00e9s a <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/products\/codeready-containers\/overview\">Code Ready Containers<\/a><\/noindex> (OpenShift klaszterhez). Mindk\u00e9t lehet\u0151s\u00e9g val\u00f3ban egyszer\u0171en telep\u00edthet\u0151, de el\u00e9g sok er\u0151forr\u00e1st ig\u00e9nyelnek a laptopodon.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/01c748365253fc9e11e817876629ae7e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Build a KUK-en<\/h3>\n<p>\nNos, l\u00e1ssuk.<\/p>\n<h4>1. l\u00e9p\u00e9s - \u00f6ssze\u00e1ll\u00edtjuk a kont\u00e9nersz\u00f3t\u00e1runkat<\/h4>\n<p>\nKezdj\u00fck azzal, hogy a \"Hello World\"-\u00fcnket a minikube-on ind\u00edtjuk el. Ehhez sz\u00fcks\u00e9ges:<\/p>\n<ol>\n<li>1. Telep\u00edtett Docker.<\/li>\n<li>2. Telep\u00edtett Git.<\/li>\n<li>3. Telep\u00edtett Maven (tulajdonk\u00e9ppen ebben a projektben a mvnw bin\u00e1ris f\u00e1jlt haszn\u00e1ljuk, \u00edgy erre nincs sz\u00fcks\u00e9g).<\/li>\n<li>4. Mag\u00e1nak a forr\u00e1snak a kl\u00f3nja, vagyis a repository kl\u00f3nja <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gcolman\/quarkus-hello-world.git\">github.com\/gcolman\/quarkus-hello-world.git<\/a><\/noindex><\/li>\n<\/ol>\n<p>\nEls\u0151 l\u00e9p\u00e9sk\u00e9nt l\u00e9tre kell hozni egy Quarkus projektet. Ne ijedjetek meg, ha m\u00e9g soha nem dolgoztatok a Quarkus.io webhellyel \u2013 ez k\u00f6nny\u0171. Csak v\u00e1lassz\u00e1tok ki azokat a komponenseket, amelyeket a projektben szeretn\u00e9tek haszn\u00e1lni (RestEasy, Hibernate, Amazon SQS, Camel stb.), a t\u00f6bbit pedig a Quarkus m\u00e1r automatikusan, a ti k\u00f6zrem\u0171k\u00f6d\u00e9setek n\u00e9lk\u00fcl be\u00e1ll\u00edtja, \u00e9s mindent felt\u00f6lt a githubra. Teh\u00e1t sz\u00f3 szerint egy kattint\u00e1s \u2013 \u00e9s k\u00e9sz. Ez\u00e9rt szeretj\u00fck a Quarkust.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/39a62058d91f8443e77466d374d02d34.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>A legegyszer\u0171bb m\u00f3dja a \u201eHello World\u201d kont\u00e9nerk\u00e9p l\u00e9trehoz\u00e1s\u00e1nak, ha a quarkus-maven Docker kiterjeszt\u00e9st haszn\u00e1ljuk, amely elv\u00e9gzi az \u00f6sszes sz\u00fcks\u00e9ges munk\u00e1t. A Quarkus bevezet\u00e9s\u00e9vel ez val\u00f3ban k\u00f6nny\u0171 \u00e9s egyszer\u0171 lett: hozz\u00e1adja a container-image-docker kiterjeszt\u00e9st, \u00e9s maven parancsokkal k\u00e9pes k\u00e9peket l\u00e9trehozni.<\/p>\n<pre><code class=\"plaintext\">.\/mvnw quarkus:add-extension -Dextensions=\"container-image-docker\"\n<\/code><\/pre>\n<p>\n\u00c9s v\u00e9g\u00fcl, a Maven seg\u00edts\u00e9g\u00e9vel \u00f6ssze\u00e1ll\u00edtjuk a k\u00e9pet. Ennek eredm\u00e9nyek\u00e9nt a forr\u00e1sk\u00f3dunk k\u00e9sz kont\u00e9nerk\u00e9pp\u00e9 alakul, amely m\u00e1r futtathat\u00f3 kont\u00e9neres k\u00f6rnyezetben.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/94b74cac6616896eb672a72302e70169.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"plaintext\">.\/mvnw -X clean package -Dquarkus.container-image.build=true\n<\/code><\/pre>\n<p>\nNos, ez igaz\u00e1b\u00f3l minden, most elind\u00edthatjuk a kont\u00e9nert a docker run paranccsal, illetve \u00e1tir\u00e1ny\u00edthatjuk a szolg\u00e1ltat\u00e1sunkat a 8080-as portra, hogy el\u00e9rhet\u0151 legyen.<\/p>\n<pre><code class=\"plaintext\">docker run -i --rm -p 8080:8080 gcolman\/quarkus-hello-world\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/4f46e13423d5027d85ebae2c98c926b8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Miut\u00e1n a kont\u00e9ner p\u00e9ld\u00e1ny elindult, csak annyit kell ellen\u0151rizni a curl parancs seg\u00edts\u00e9g\u00e9vel, hogy a szolg\u00e1ltat\u00e1s m\u0171k\u00f6dik-e:<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/1c1462f52d6a487863c21f8f72a09d1f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Teh\u00e1t minden rendben m\u0171k\u00f6dik, \u00e9s ez val\u00f3ban k\u00f6nny\u0171 \u00e9s egyszer\u0171 volt.<\/p>\n<h4>2. l\u00e9p\u00e9s \u2013 elk\u00fcldj\u00fck a kont\u00e9nert a kont\u00e9nerk\u00e9pek repository-j\u00e1ba<\/h4>\n<p>\nA jelenleg l\u00e9trehozott k\u00e9p helyben van, a helyi kont\u00e9ner t\u00e1rol\u00f3nkban. Ha ezt a k\u00e9pet szeretn\u00e9nk haszn\u00e1lni a K8S k\u00f6rnyezet\u00fcnkben, akkor egy m\u00e1sik repository-ba kell helyezni. A Kubernetesben nincsenek ilyen funkci\u00f3k, ez\u00e9rt a dockerhub-ot fogjuk haszn\u00e1lni. Egyr\u00e9szt mert ingyenes, m\u00e1sr\u00e9szt pedig (majdnem) mindenki ezt csin\u00e1lja.<\/p>\n<p>Ez is nagyon egyszer\u0171, \u00e9s itt csak egy dockerhub fi\u00f3kra van sz\u00fcks\u00e9g.<\/p>\n<p>Teh\u00e1t bejelentkez\u00fcnk a dockerhub-ra \u00e9s felt\u00f6ltj\u00fck oda a k\u00e9p\u00fcnket.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/fb5d81ee15ca7594277c5a05da298fbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>3. l\u00e9p\u00e9s \u2013 elind\u00edtjuk a Kubernetest<\/h4>\n<p>\nSz\u00e1mos m\u00f3dja van a Kubernetes konfigur\u00e1ci\u00f3 \u00f6ssze\u00e1ll\u00edt\u00e1s\u00e1nak a \u201eHello World\u201d elind\u00edt\u00e1s\u00e1hoz, de a legegyszer\u0171bbet fogjuk haszn\u00e1lni, hiszen ilyenek vagyunk...<\/p>\n<p>El\u0151sz\u00f6r ind\u00edtsuk el a minikube klasztert:<\/p>\n<pre><code class=\"plaintext\">minikube start\n<\/code><\/pre>\n<p><\/p>\n<h4>4. l\u00e9p\u00e9s \u2013 telep\u00edtj\u00fck a kont\u00e9nerk\u00e9p\u00fcnket<\/h4>\n<p>\nMost \u00e1t kell alak\u00edtanunk a k\u00f3dunkat \u00e9s a kont\u00e9nerk\u00e9p\u00fcnket Kubernetes konfigur\u00e1ci\u00f3v\u00e1. M\u00e1s szavakkal, sz\u00fcks\u00e9g\u00fcnk van egy podra \u00e9s deployment defin\u00edci\u00f3ra, amely hivatkozik a Docker Hub-on l\u00e9v\u0151 kont\u00e9nerk\u00e9p\u00fcnkre. Az egyik legegyszer\u0171bb m\u00f3dja ennek az, hogy v\u00e9grehajtjuk a create deployment parancsot, megadva a k\u00e9p\u00fcnket:<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/0bd984a5b414310daca039289dd35cd2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"plaintext\">kubectl create deployment hello-quarkus --image=gcolman\/quarkus-hello-world:1.0.0-SNAPSHOT\n<\/code><\/pre>\n<p>\nEzzel a parancssal azt mondtuk a Kubernetes-nek, hogy hozzon l\u00e9tre egy deployment konfigur\u00e1ci\u00f3t, amely tartalmazza a pod specifik\u00e1ci\u00f3t a kont\u00e9nerk\u00e9p\u00fcnkh\u00f6z. Ez a parancs ezt a konfigur\u00e1ci\u00f3t a minikube klaszter\u00fcnkre is alkalmazza, \u00e9s l\u00e9trehozza a deploymentet, amely let\u00f6lti a kont\u00e9nerk\u00e9p\u00fcnket, \u00e9s elind\u00edtja a podot a klaszterben.<\/p>\n<h4>5. l\u00e9p\u00e9s \u2013 hozz\u00e1f\u00e9r\u00e9s megnyit\u00e1sa a szolg\u00e1ltat\u00e1sunkhoz<\/h4>\n<p>\nMost, hogy van egy telep\u00edtett kont\u00e9nerk\u00e9p\u00fcnk, ideje elgondolkodni, hogyan konfigur\u00e1ljuk a k\u00fcls\u0151 hozz\u00e1f\u00e9r\u00e9st ehhez a Restful szolg\u00e1ltat\u00e1shoz, amelyet val\u00f3j\u00e1ban a k\u00f3dunkban programoztunk.<\/p>\n<p>Itt sok lehet\u0151s\u00e9g van. P\u00e9ld\u00e1ul haszn\u00e1lhatjuk az expose parancsot, hogy automatikusan l\u00e9trehozzuk a sz\u00fcks\u00e9ges Kubernetes komponenseket, mint a szolg\u00e1ltat\u00e1sok \u00e9s az endpointok. Val\u00f3j\u00e1ban \u00edgy fogunk cselekedni, v\u00e9grehajtva az expose parancsot a deployment objektumunk sz\u00e1m\u00e1ra:<\/p>\n<pre><code class=\"plaintext\">kubectl expose deployment hello-quarkus --type=NodePort --port=8080\n<\/code><\/pre>\n<p>\nMost \u00e1lljunk meg egy pillanatra az expose parancs \"--type\" opci\u00f3j\u00e1n\u00e1l.<\/p>\n<p>Amikor v\u00e9grehajtjuk az expose-t, \u00e9s l\u00e9trehozzuk a sz\u00fcks\u00e9ges komponenseket a szolg\u00e1ltat\u00e1sunk futtat\u00e1s\u00e1hoz, t\u00f6bbek k\u00f6z\u00f6tt azt is szeretn\u00e9nk, hogy k\u00edv\u00fclr\u0151l csatlakozhassanak a hello-quarkus szolg\u00e1ltat\u00e1shoz, amely a programozott h\u00e1l\u00f3zatunkon bel\u00fcl tal\u00e1lhat\u00f3. Az <b>type<\/b> param\u00e9ter lehet\u0151v\u00e9 teszi sz\u00e1munkra, hogy l\u00e9trehozzunk \u00e9s csatlakoztassunk olyan dolgokat, mint a terhel\u00e9seloszt\u00f3k, hogy ir\u00e1ny\u00edts\u00e1k a forgalmat erre a h\u00e1l\u00f3zatra.<\/p>\n<p>P\u00e9ld\u00e1ul, ha megadjuk <b>type=LoadBalancer<\/b>, automatikusan inicializ\u00e1lunk egy terhel\u00e9seloszt\u00f3t a nyilv\u00e1nos felh\u0151ben, hogy csatlakozhassunk a Kubernetes klaszter\u00fcnkh\u00f6z. Ez term\u00e9szetesen nagyszer\u0171, de fontos meg\u00e9rteni, hogy az ilyen konfigur\u00e1ci\u00f3 szorosan a konkr\u00e9t nyilv\u00e1nos felh\u0151h\u00f6z lesz k\u00f6tve, \u00e9s nehezebben mozgathat\u00f3 m\u00e1s Kubernetes p\u00e9ld\u00e1nyok k\u00f6z\u00f6tt k\u00fcl\u00f6nb\u00f6z\u0151 k\u00f6rnyezetekben.<\/p>\n<p>A p\u00e9ld\u00e1nkban <b>type=NodePort<\/b>, azaz a szolg\u00e1ltat\u00e1sunkhoz val\u00f3 hozz\u00e1f\u00e9r\u00e9s a csom\u00f3pont IP-c\u00edm\u00e9n \u00e9s a portsz\u00e1mon kereszt\u00fcl t\u00f6rt\u00e9nik. Ez a megold\u00e1s lehet\u0151v\u00e9 teszi, hogy ne haszn\u00e1ljunk nyilv\u00e1nos felh\u0151ket, de sz\u00e1mos tov\u00e1bbi l\u00e9p\u00e9st ig\u00e9nyel. El\u0151sz\u00f6r is sz\u00fcks\u00e9g van saj\u00e1t terhel\u00e9seloszt\u00f3ra, ez\u00e9rt telep\u00edt\u00fcnk egy NGINX terhel\u00e9seloszt\u00f3t a klaszter\u00fcnkre.<\/p>\n<h4>6. l\u00e9p\u00e9s \u2013 telep\u00edtj\u00fck a terhel\u00e9seloszt\u00f3t<\/h4>\n<p>\nA minikube sz\u00e1mos platformspecifikus funkci\u00f3t k\u00edn\u00e1l, amelyek megk\u00f6nny\u00edtik a k\u00fcls\u0151 hozz\u00e1f\u00e9r\u00e9shez sz\u00fcks\u00e9ges \u00f6sszetev\u0151k, p\u00e9ld\u00e1ul ingress vez\u00e9rl\u0151k l\u00e9trehoz\u00e1s\u00e1t. A minikube ingyenes ingress vez\u00e9rl\u0151t tartalmaz, nek\u00fcnk csup\u00e1n be kell kapcsolnunk \u00e9s konfigur\u00e1lnunk kell.<\/p>\n<pre><code class=\"plaintext\">minikube addons enable ingress\n<\/code><\/pre>\n<p>\nMost egy parancssal l\u00e9trehozzuk az Nginx ingress vez\u00e9rl\u0151t, amely a minikube klaszter\u00fcnkben fog m\u0171k\u00f6dni:<\/p>\n<pre><code class=\"plaintext\">ingress-nginx-controller-69ccf5d9d8-j5gs9 1\/1 Running 1 33m\n<\/code><\/pre>\n<p><\/p>\n<h4>7. l\u00e9p\u00e9s \u2013 konfigur\u00e1ljuk az ingress-t<\/h4>\n<p>\nMost be kell \u00e1ll\u00edtanunk az Nginx ingress vez\u00e9rl\u0151t, hogy az \u00e9szlelje a hello-quarkus k\u00e9r\u00e9seket.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/18183cb985436447cf15c501e4c6c3a3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/577f1e6218094b5ee23052d49869e838.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u00c9s v\u00e9g\u00fcl alkalmaznunk kell ezt a konfigur\u00e1ci\u00f3t.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/c519d7763cd1c685063a6bbab6a813ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"plaintext\">kubectl apply -f ingress.yml\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/68fba4ef3d2762a97dc5be5de9e6b864.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Mivel mindezt a saj\u00e1t g\u00e9p\u00fcnk\u00f6n v\u00e9gezz\u00fck, egyszer\u0171en hozz\u00e1adjuk a csom\u00f3pontunk IP-c\u00edm\u00e9t a \/etc\/hosts f\u00e1jlhoz, hogy az http-k\u00e9r\u00e9sek a minikube-unkat az NGINX terhel\u00e9seloszt\u00f3ra ir\u00e1ny\u00edts\u00e1k.<\/p>\n<pre><code class=\"plaintext\">192.168.99.100 hello-quarkus.info\n<\/code><\/pre>\n<p>\nK\u00e9sz, most a minikube szolg\u00e1ltat\u00e1sunk k\u00fcls\u0151leg el\u00e9rhet\u0151 az Nginx ingress vez\u00e9rl\u0151n kereszt\u00fcl.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/a456f34d168d43e9236e4769722b7f5d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Na, ez k\u00f6nny\u0171 volt, nem? Vagy nem olyan k\u00f6nny\u0171?<\/h3>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/237015dc06bb9d12eb4cd2944dc6df58.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Futtat\u00e1s OpenShift-en (Code Ready Containers)<\/h3>\n<p>\nMost n\u00e9zz\u00fck meg, hogyan m\u0171k\u00f6dik mindez a Red Hat OpenShift Container Platform (OCP) alatt.<\/p>\n<p>A minikube eset\u00e9hez hasonl\u00f3an itt is egy egycsom\u00f3pontos OpenShift klaszteres s\u00e9m\u00e1t v\u00e1lasztunk, amely Code Ready Containers (CRC) form\u00e1j\u00e1ban l\u00e9tezik. Kor\u00e1bban ezt minishiftnek h\u00edvt\u00e1k, a OpenShift Origin projektre \u00e9p\u00fclt, most pedig CRC-k\u00e9nt ismert, \u00e9s a Red Hat OpenShift Container Platformon alapul.<\/p>\n<p>Itt eln\u00e9z\u00e9st k\u00e9r\u00fcnk, de nem tudjuk meg\u00e1llni, hogy ne mondjuk: \"OpenShift csod\u00e1latos!\"<\/p>\n<p>Kezdetben azt akartuk \u00edrni, hogy az OpenShift k\u00f6rnyezet\u00e9ben v\u00e9gzett fejleszt\u00e9s nem k\u00fcl\u00f6nb\u00f6zik a Kubernetes-szel v\u00e9gzett fejleszt\u00e9st\u0151l. Val\u00f3j\u00e1ban \u00edgy is van. De ennek a posztnak az \u00edr\u00e1sa k\u00f6zben esz\u00fcnkbe jutott, hogy mennyi felesleges l\u00e9p\u00e9st kell megtenni, ha nincs OpenShift, \u00e9s ez\u00e9rt azt mondjuk, hogy csod\u00e1latos. Szeretj\u00fck, ha minden k\u00f6nnyen m\u0171k\u00f6dik, \u00e9s hogy mennyivel k\u00f6nnyebb az OpenShift alatt m\u0171k\u00f6dtetni \u00e9s elind\u00edtani a p\u00e9ld\u00e1nkat a minikube-hoz k\u00e9pest, val\u00f3j\u00e1ban \u00f6szt\u00f6n\u00f6zte minket, hogy meg\u00edrjuk ezt a posztot.<\/p>\n<p>N\u00e9zz\u00fck \u00e1t a folyamatot, \u00e9s n\u00e9zz\u00fck meg, hogy mit kell tenn\u00fcnk.<\/p>\n<p>Teh\u00e1t a minikube p\u00e9ld\u00e1n kereszt\u00fcl a Dockerrel kezdt\u00fck... \u00c1lljon meg, most m\u00e1r nincs sz\u00fcks\u00e9g\u00fcnk arra, hogy a g\u00e9pen telep\u00edtve legyen a Docker.<\/p>\n<p><b>\u00c9s helyi git-re nincs sz\u00fcks\u00e9g\u00fcnk.<br \/>\n\u00c9s Mavenre sincs sz\u00fcks\u00e9g.<br \/>\n\u00c9s nem kell manu\u00e1lisan l\u00e9trehozni a kont\u00e9nerk\u00e9pet.<br \/>\n\u00c9s nem kell kont\u00e9nerk\u00e9p-t\u00e1rakat keresn\u00fcnk.<br \/>\n\u00c9s ingress-vez\u00e9rl\u0151t sem kell telep\u00edten\u00fcnk.<br \/>\n\u00c9s ingress-t is konfigur\u00e1lni sem kell.<\/b><\/p>\n<p>\u00c9rtetted, igaz? Az OpenShift-en val\u00f3 alkalmaz\u00e1sunk telep\u00edt\u00e9s\u00e9hez \u00e9s elind\u00edt\u00e1s\u00e1hoz nincs sz\u00fcks\u00e9g\u00fcnk semmi t\u00f6bbre a fentiekb\u0151l. A folyamat azonban a k\u00f6vetkez\u0151k\u00e9ppen n\u00e9z ki.<\/p>\n<h4>1. l\u00e9p\u00e9s \u2013 Elind\u00edtjuk a saj\u00e1t OpenShift klaszter\u00fcnket<\/h4>\n<p>\nA Red Hat Code Ready Containers-t haszn\u00e1ljuk, ami l\u00e9nyeg\u00e9ben ugyanaz, mint a Minikube, de egy teljes \u00e9rt\u00e9k\u0171 egycsom\u00f3pontos OpenShift klaszterrel.<\/p>\n<pre><code class=\"plaintext\">crc start\n<\/code><\/pre>\n<p><\/p>\n<h4>2. l\u00e9p\u00e9s \u2013 Az alkalmaz\u00e1s \u00e9p\u00edt\u00e9se \u00e9s telep\u00edt\u00e9se az OpenShift klaszterbe<\/h4>\n<p>\nEzen a l\u00e9p\u00e9sen bontakozik ki legjobban az OpenShift egyszer\u0171s\u00e9ge \u00e9s k\u00e9nyelme. Mint minden Kubernetes disztrib\u00faci\u00f3ban, itt is sok m\u00f3dja van az alkalmaz\u00e1s ind\u00edt\u00e1s\u00e1nak a klaszterben. \u00c9s mint a K\u00fakn\u00e1l, most is sz\u00e1nd\u00e9kosan a legegyszer\u0171bbet v\u00e1lasztjuk.<\/p>\n<p>Az OpenShift mindig is olyan platformk\u00e9nt \u00e9p\u00fclt, amely kont\u00e9neralap\u00fa alkalmaz\u00e1sok l\u00e9trehoz\u00e1s\u00e1ra \u00e9s futtat\u00e1s\u00e1ra szolg\u00e1l. A kont\u00e9nerek \u00e9p\u00edt\u00e9se mindig is a platform elengedhetetlen r\u00e9sz\u00e9t k\u00e9pezte, ez\u00e9rt itt rengeteg tov\u00e1bbi Kubernetes er\u0151forr\u00e1s \u00e1ll rendelkez\u00e9sre ezekhez a feladatokhoz.<\/p>\n<p>Az OpenShift Source to Image (S2I) folyamat\u00e1t fogjuk haszn\u00e1lni, amelynek t\u00f6bbf\u00e9le m\u00f3dszere van arra, hogy a forr\u00e1sunkat (k\u00f3dot vagy bin\u00e1ris f\u00e1jlokat) kont\u00e9nerk\u00e9pp\u00e9 alak\u00edtsuk, amely a ny\u00edlt OpenShift klaszterben fut.<\/p>\n<p>Ehhez k\u00e9t dologra van sz\u00fcks\u00e9g\u00fcnk:<\/p>\n<ul>\n<li>Forr\u00e1sk\u00f3dunk egy git t\u00e1rhelyen<\/li>\n<li>A builder-k\u00e9p, amely alapj\u00e1n az \u00e9p\u00edt\u00e9s fog t\u00f6rt\u00e9nni.<\/li>\n<\/ul>\n<p>\nSz\u00e1mos ilyen k\u00e9p l\u00e9tezik, amelyeket mind a Red Hat t\u00e1mogat, mind a k\u00f6z\u00f6ss\u00e9gi szinten, \u00e9s mi az OpenJDK k\u00e9pet fogjuk haszn\u00e1lni, mivel Java alkalmaz\u00e1st \u00e9p\u00edtek.<\/p>\n<p>Az S2I \u00e9p\u00edt\u00e9st elind\u00edthatjuk az OpenShift Developer grafikus konzolj\u00e1b\u00f3l vagy parancssorb\u00f3l is. Mi az new-app parancsot fogjuk haszn\u00e1lni, megadva neki, honnan vegye a builder-k\u00e9pet \u00e9s a forr\u00e1sk\u00f3dunkat.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/64b8091c6857999c94dd907ad12fa9ae.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"plaintext\">oc new-app registry.access.redhat.com\/ubi8\/openjdk-11:latest~https:\/\/github.com\/gcolman\/quarkus-hello-world.git\n<\/code><\/pre>\n<p>\nK\u00e9sz, az alkalmaz\u00e1sunk l\u00e9trej\u00f6tt. Az S2I folyamat sor\u00e1n a k\u00f6vetkez\u0151ket v\u00e9gezte el:<\/p>\n<ul>\n<li>L\u00e9trehozott egy build-podot az alkalmaz\u00e1s \u00e9p\u00edt\u00e9s\u00e9vel kapcsolatos feladatokhoz.<\/li>\n<li>L\u00e9trehozott egy OpenShift Build konfigur\u00e1ci\u00f3t.<\/li>\n<li>Let\u00f6lt\u00f6tte a builder-k\u00e9pet az OpenShift bels\u0151 docker-regisztr\u00e1l\u00f3j\u00e1ba.<\/li>\n<li>A 'Hello World' projektet kl\u00f3nozta a helyi t\u00e1rhely\u00fcnkre.<\/li>\n<li>L\u00e1ttam, hogy van maven pom, ez\u00e9rt a maven seg\u00edts\u00e9g\u00e9vel leford\u00edtottam az alkalmaz\u00e1st.<\/li>\n<li>L\u00e9trehoztam egy \u00faj kont\u00e9nerk\u00e9pet, ami a leford\u00edtott Java alkalmaz\u00e1st tartalmazza, \u00e9s ezt a k\u00e9pet elhelyeztem a bels\u0151 kont\u00e9nerregiszterben.<\/li>\n<li>K\u00e9sz\u00edtettem egy Kubernetes Deployment-et pod, szolg\u00e1ltat\u00e1s stb. specifik\u00e1ci\u00f3kkal.<\/li>\n<li>Elind\u00edtottam a kont\u00e9nerk\u00e9p deploy\u00e1l\u00e1s\u00e1t.<\/li>\n<li>T\u00f6r\u00f6ltem a build-pod szolg\u00e1ltat\u00e1st.<\/li>\n<\/ul>\n<p>\nEbben a list\u00e1ban sok minden szerepel, de a l\u00e9nyeg, hogy az eg\u00e9sz build kifejezetten az OpenShift belsej\u00e9ben zajlik, a bels\u0151 Docker-regiszter is itt tal\u00e1lhat\u00f3, \u00e9s a build folyamata l\u00e9trehozza az \u00f6sszes Kubernetes komponenst \u00e9s elind\u00edtja \u0151ket a klaszterben.<\/p>\n<p>Ha vizu\u00e1lisan nyomon k\u00f6vetj\u00fck az S2I ind\u00edt\u00e1s\u00e1t a konzolban, l\u00e1thatjuk, hogy a build pod elindul\u00e1sa k\u00f6zben hogyan fut le a build.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/bd69c6e27813b1211a11e522f28f45b7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Most n\u00e9zz\u00fck meg a builder pod napl\u00f3it: el\u0151sz\u00f6r is, l\u00e1that\u00f3, hogy a maven hogyan v\u00e9gzi a munk\u00e1j\u00e1t \u00e9s t\u00f6lti le a f\u00fcgg\u0151s\u00e9geket a Java alkalmaz\u00e1sunk buildel\u00e9s\u00e9hez.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/326192f9f9373e451d601b77052d67d1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Miut\u00e1n befejez\u0151d\u00f6tt a maven build, elindul a kont\u00e9nerk\u00e9p build folyamata, majd ez a l\u00e9trehozott k\u00e9p elk\u00fcld\u00e9sre ker\u00fcl a bels\u0151 t\u00e1rol\u00f3ba.<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/c97da4c17a8e275d39104126d0f87048.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>K\u00e9sz, a build folyamata befejez\u0151d\u00f6tt. Most ellen\u0151rizz\u00fck, hogy a klaszterben elindultak a podok \u00e9s a szolg\u00e1ltat\u00e1sok a mi alkalmaz\u00e1sunk sz\u00e1m\u00e1ra.<\/p>\n<pre><code class=\"plaintext\">oc get service\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/f16a098a096128073f305e0444061417.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ennyi, \u00e9s mindez egyetlen parancs. M\u00e1r csak annyit kell tenn\u00fcnk, hogy kiadjuk ennek a szolg\u00e1ltat\u00e1snak a kitetts\u00e9g\u00e9t a k\u00fcls\u0151 hozz\u00e1f\u00e9r\u00e9s \u00e9rdek\u00e9ben.<\/p>\n<h4>3. l\u00e9p\u00e9s \u2013 a szolg\u00e1ltat\u00e1s kitetts\u00e9ge k\u00fcls\u0151 hozz\u00e1f\u00e9r\u00e9s \u00e9rdek\u00e9ben<\/h4>\n<p>\nAhogy a KUK eset\u00e9ben, az OpenShift platformon a mi 'Hello World'-\u00fcnkh\u00f6z is sz\u00fcks\u00e9g van egy routerre, hogy a k\u00fcls\u0151 forgalmat ir\u00e1ny\u00edtani tudja a klaszter bels\u0151 szolg\u00e1ltat\u00e1s\u00e1ra. Az OpenShift ezt nagyon egyszer\u0171v\u00e9 teszi. El\u0151sz\u00f6r is, a klaszterben alap\u00e9rtelmezetten telep\u00edtve van a HAProxy router komponens (amit \u00e1t lehet cser\u00e9lni ugyanarra NGINX-re). M\u00e1sodszor, itt vannak a speci\u00e1lis \u00e9s sz\u00e9lesk\u00f6rben konfigur\u00e1lhat\u00f3 er\u0151forr\u00e1sok, amelyeket Route-nak h\u00edvnak, \u00e9s hasonl\u00edtanak a r\u00e9gi j\u00f3 Kubernetes Ingress objektumokra (val\u00f3j\u00e1ban az OpenShift Route-ok jelent\u0151sen befoly\u00e1solt\u00e1k az Ingress objektumok tervez\u00e9s\u00e9t, amelyeket most m\u00e1r OpenShift-ben is lehet haszn\u00e1lni), de a mi 'Hello World'-\u00fcnkh\u00f6z, \u00e9s szinte minden m\u00e1s esetben elegend\u0151 lesz a standard Route kieg\u00e9sz\u00edt\u0151 be\u00e1ll\u00edt\u00e1s n\u00e9lk\u00fcl.<\/p>\n<p>Ahhoz, hogy l\u00e9trehozzunk egy \u00fatv\u00e1lasztott FQDN-t a 'Hello World' sz\u00e1m\u00e1ra (igen, OpenShift-ben van DNS az szolg\u00e1ltat\u00e1sneveken t\u00f6rt\u00e9n\u0151 \u00fatv\u00e1laszt\u00e1shoz), egyszer\u0171en v\u00e9grehajtjuk a szolg\u00e1ltat\u00e1sunk kitetts\u00e9g\u00e9t:<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/d6b76943594aa71195ca9af500db6c10.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"plaintext\">oc expose service quarkus-hello-world\n<\/code><\/pre>\n<p>\nHa megn\u00e9zz\u00fck az \u00e9ppen l\u00e9trehozott Route-ot, akkor ott tal\u00e1lunk FQDN-t \u00e9s egy\u00e9b \u00fatv\u00e1laszt\u00e1si inform\u00e1ci\u00f3kat:<\/p>\n<pre><code class=\"plaintext\">oc get route\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/dc59c36166605ef0a5a24b2b7ffa65b6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>V\u00e9g\u00fcl pedig megkeress\u00fck a szolg\u00e1ltat\u00e1sunkat a b\u00f6ng\u00e9sz\u0151b\u0151l:<\/p>\n<p><img decoding=\"async\" alt=\"Sajn\u00e1lom, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged, \u00e9s term\u00e9szetesnek vett\u00fcnk.\" src=\"\/wp-content\/uploads\/2020\/10\/fccf6cae1746fa59df2ff8ffb6973666.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Most m\u00e1r ez t\u00e9nyleg k\u00f6nny\u0171 volt!<\/h3>\n<p>\nSzeretj\u00fck a Kubernetes-t \u00e9s mindazt, amit ez a technol\u00f3gia lehet\u0151v\u00e9 tesz, valamint a egyszer\u0171s\u00e9get \u00e9s k\u00f6nnyeds\u00e9get. A Kubernetes-t \u00fagy fejlesztett\u00e9k ki, hogy hihetetlen\u00fcl megk\u00f6nny\u00edtse a felosztott, sk\u00e1l\u00e1zhat\u00f3 kont\u00e9nerek \u00fczemeltet\u00e9s\u00e9t, de ma m\u00e1r nem el\u00e9g egyszer\u0171 az alkalmaz\u00e1sok \u00fczembe helyez\u00e9s\u00e9hez. Itt l\u00e9p sz\u00ednre az OpenShift, amely l\u00e9p\u00e9st tart a korral, \u00e9s a Kubernetes-t els\u0151sorban a fejleszt\u0151k sz\u00e1m\u00e1ra optimaliz\u00e1lja. Rengeteg energi\u00e1t fektettek az OpenShift platform kifejleszt\u00e9s\u00e9be a fejleszt\u0151k ig\u00e9nyeinek megfelel\u0151en, bele\u00e9rtve olyan eszk\u00f6z\u00f6k l\u00e9trehoz\u00e1s\u00e1t, mint az S2I, ODI, Fejleszt\u0151i Port\u00e1l, OpenShift Operator Framework, IDE integr\u00e1ci\u00f3, Fejleszt\u0151i Katal\u00f3gusok, Helm integr\u00e1ci\u00f3, monitoring \u00e9s sok m\u00e1s.<\/p>\n<p>Rem\u00e9lj\u00fck, hogy ez a cikk \u00e9rdekes \u00e9s hasznos volt az \u00d6n sz\u00e1m\u00e1ra. Tov\u00e1bbi forr\u00e1sokat, anyagokat \u00e9s egy\u00e9b hasznos inform\u00e1ci\u00f3kat a fejleszt\u00e9shez az OpenShift platformon a k\u00f6vetkez\u0151 port\u00e1lon tal\u00e1lhatja: <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/\">Red Hat Developers<\/a><\/noindex>.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/523568\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0448\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Kubernetes \u0438 \u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0435 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 OpenShift. \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043c\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0441 \u0442\u0435\u0437\u0438\u0441\u0430, \u0447\u0442\u043e Kubernetes \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e Kubernetes, \u0430 OpenShift \u2013 \u044d\u0442\u043e \u0443\u0436\u0435 Kubernetes-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430, \u043a\u0430\u043a Microsoft AKS \u0438\u043b\u0438 Amazon EKS. \u0423 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97255,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97254","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0448\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Kubernetes \u0438 \u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0435 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 OpenShift.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0441\u0442\u0438, OpenShift, \u043c\u044b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0446\u0435\u043d\u0438\u043b\u0438 \u0442\u0435\u0431\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u0438 \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u043d\u043e\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0448\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Kubernetes \u0438 \u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0435 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 OpenShift.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-17T00:42:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-17T00:42:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sajn\u00e1ljuk, OpenShift, nem \u00e9rt\u00e9kelt\u00fcnk el\u00e9gg\u00e9 t\u00e9ged \u00e9s biztosra vett\u00fck | ProHoster","description":"Ez a bejegyz\u00e9s az\u00e9rt \u00edr\u00f3dott, mert munkat\u00e1rsaink sokat besz\u00e9ltek az \u00fcgyfelekkel az alkalmaz\u00e1sok Kubernetes-en t\u00f6rt\u00e9n\u0151 fejleszt\u00e9s\u00e9r\u0151l \u00e9s az OpenShift-en val\u00f3 specifikus fejleszt\u00e9sr\u0151l.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0441\u0442\u0438, OpenShift, \u043c\u044b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0446\u0435\u043d\u0438\u043b\u0438 \u0442\u0435\u0431\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u0438 \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u043d\u043e\u0435 | ProHoster","og:description":"\u042d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0448\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432 \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Kubernetes \u0438 \u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0435 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 OpenShift.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-17T00:42:32+00:00","article:modified_time":"2020-10-17T00:42:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97254","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:24:26","updated":"2022-09-30 14:35:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/97254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=97254"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/97254\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/97255"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=97254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=97254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=97254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}