{"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\/et\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe","title":{"rendered":"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>See post on kirjutatud, kuna meie t\u00f6\u00f6tajatel on olnud \u00fcsna palju vestlusi klientidega Kubernetesi ja OpenShifti rakenduste arendamise spetsiifikast.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/ad447aeb80d3ae56ea4598cd959456de.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlustame tavaliselt v\u00e4itest, et Kubernetes on lihtsalt Kubernetes, ja OpenShift on juba Kubernetes platvorm, nagu Microsoft AKS v\u00f5i Amazon EKS. Igal neist platvormidest on oma eelised, suunatud teatud sihtr\u00fchmale. P\u00e4rast seda vestlus suundub juba konkreetsete platvormide tugevuste ja n\u00f5rkuste v\u00f5rdlemisse.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u00dcldiselt m\u00f5tleme kirjutada postituse, mille j\u00e4reldus oleks midagi sellist, et \"kuulake, pole t\u00e4htis, kus koodi k\u00e4itada, kas OpenShiftis v\u00f5i AKS-is, EKS-is, mingisuguses kohandatud Kubernetesis, v\u00f5i mis tahes Kubernetesis\". <i>(l\u00fchidalt nimetame seda KUK-iks)<\/i> \u2013 see on tegelikult \u00fchtemoodi lihtne, nii seal kui ka seal.<\/p>\n<p>Seej\u00e4rel plaanisime v\u00f5tta k\u00f5ige lihtsama \"Hello World\" ja selle n\u00e4ite p\u00f5hjal n\u00e4idata, mis on \u00fchist ja milles on erinevused KUKi ja Red Hat OpenShift Container Platformi (edasi, OCP v\u00f5i lihtsalt OpenShift) vahel.<\/p>\n<p>Kirjutamise k\u00e4igus oleme aru saanud, et oleme OpenShifti kasutamist niiv\u00f5rd harjunud, et ei teadvusta, kui palju see on kasvanud ja muutunud imeliseks platvormiks, mis on palju rohkem kui lihtsalt Kubernetesi jaotamine. Oleme harjunud v\u00f5tma OpenShifti k\u00fcpsust ja lihtsust iseenesestm\u00f5istetavana, unustades selle suurep\u00e4rasuse.<\/p>\n<p>N\u00fc\u00fcd on aeg aktiivseks kahetsuseks ning v\u00f5rreldame samm-sammult oma \"Hello World\" k\u00e4ivitamist KUK-is ja OpenShiftis ning teeme seda v\u00f5imalikult objektiivselt (vahel v\u00f5ib-olla v\u00e4ljendades isiklikku arvamust). Kui teid huvitab ainult subjektiivne arvamus, siis seda saab lugeda <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/swlh\/im-so-sorry-openshift-i-ve-taken-you-for-granted-f36fb47ea4d9\">siit (EN)<\/a><\/noindex>. Selles postituses kinnitume ainult faktidele.<\/p>\n<h3>Klastrid<\/h3>\n<p>\nSeega, et meie \"Hello World\" t\u00f6\u00f6taks, vajame klastreid. \u00dctleme kohe \"ei\" igasugustele avalikele pilvedele, et v\u00e4ltida serverite, registrite, v\u00f5rkude, andmeedastuse jne eest maksmist. Seega valime lihtsa \u00fche s\u00f5lmega klastrite <noindex><a rel=\"nofollow\" href=\"https:\/\/minikube.sigs.k8s.io\/docs\/start\/\">Minikube<\/a><\/noindex> (KUK-i jaoks) ja <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/products\/codeready-containers\/overview\">Code Ready Containers<\/a><\/noindex> (OpenShifti klastri jaoks). M\u00f5lemad variandid on t\u00f5eliselt lihtsad seadistada, kuid n\u00f5uavad teie s\u00fclearvutil \u00fcsna palju ressursse.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/01c748365253fc9e11e817876629ae7e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Ehitus KUK-is<\/h3>\n<p>\nNii et, hakkame pihta.<\/p>\n<h4>Samm 1 \u2013 kogume meie konteineripildi<\/h4>\n<p>\nAlustame sellega, et k\u00e4ivitame meie 'Hello World' minikubes. Selleks on vajalikud:<\/p>\n<ol>\n<li>1. Paigaldatud Docker.<\/li>\n<li>2. Paigaldatud Git.<\/li>\n<li>3. Paigaldatud Maven (tegelikult kasutatakse selle projekti puhul mvnw-bin\u00e4ri, seega v\u00f5ib selle ka j\u00e4tta v\u00e4lja).<\/li>\n<li>4. Loomulikult allikas ise, st repositooriumi kloon <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>\nEsmalt tuleb luua Quarkus projekt. \u00c4rge kartke, isegi kui te pole kunagi t\u00f6\u00f6tanud Quarkus.io saidiga \u2013 see on lihtne. Lihtsalt valige komponendid, mida soovite projektis kasutada (RestEasy, Hibernate, Amazon SQS, Camel jne), ja seej\u00e4rel seadistab Quarkus ilma teie osaluseta maven arhet\u00fc\u00fcbi ja \u00fcles laadib k\u00f5ik GitHubi. See t\u00e4hendab, et vajutate s\u00f5na otseses m\u00f5ttes hiire \u00fchte klikki \u2013 ja k\u00f5ik on valmis. Sellep\u00e4rast me armastame Quarkust.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/39a62058d91f8443e77466d374d02d34.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>K\u00f5ige lihtsam viis meie 'Hello World' kokku panna konteineripildiks on kasutada quarkus-maven laiendusi Dockerile, mis teevad kogu vajaliku t\u00f6\u00f6 \u00e4ra. Quarkuse tulekuga on see t\u00f5eliselt lihtne: lisate laienduse container-image-docker ja saate luua pilte maveni k\u00e4skudega.<\/p>\n<pre><code class=\"plaintext\">.\/mvnw quarkus:add-extension -Dextensions=\"container-image-docker\"\n<\/code><\/pre>\n<p>\nJa l\u00f5puks kompileerime meie pildi, kasutades Mavenit. Selle tulemusena muutub meie l\u00e4htekood valmis konteineripildiks, mida saab juba konteinerite k\u00e4ituskeskkonnas kasutada.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" 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>\nN\u00fc\u00fcd on see k\u00f5ik \u2014 saame konteineri k\u00e4ivitada k\u00e4suga docker run, suunates meie teenuse pordi 8080 peale, et sellele ligi p\u00e4\u00e4seda.<\/p>\n<pre><code class=\"plaintext\">docker run -i \u2014 rm -p 8080:8080 gcolman\/quarkus-hello-world\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/4f46e13423d5027d85ebae2c98c926b8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>P\u00e4rast konteineri instantsi k\u00e4ivitamist j\u00e4\u00e4b vaid kontrollida k\u00e4suga curl, kas meie teenus t\u00f6\u00f6tab:<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/1c1462f52d6a487863c21f8f72a09d1f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Nii et k\u00f5ik t\u00f6\u00f6tab ja see oli t\u00f5eliselt lihtne ja mugav.<\/p>\n<h4>Etapp 2 \u2013 saadame meie konteineri konteineripiltide registrisse<\/h4>\n<p>\nPraegu hoitakse meie loodud pilti kohalikult meie lokaalses konteinerite hoidlas. Kui soovime seda pilti oma K8s keskkonnas kasutada, tuleb see panna m\u00f5nda teise registrisse. Kuberneteses pole selliseid funktsioone, seega kasutame dockerhubi. Esiteks, see on tasuta, ja teiseks, (peaaegu) k\u00f5ik teevad nii.<\/p>\n<p>See on samuti v\u00e4ga lihtne, ja ainus, mida seal vaja, on konto dockerhubis.<\/p>\n<p>Nii et loome dockerhubi konto ja saadame sinna meie pildi.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/fb5d81ee15ca7594277c5a05da298fbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>Samm 3 \u2013 k\u00e4ivitame Kubernetes<\/h4>\n<p>\nKubernetesi konfiguratsiooni kogumiseks on palju viise, et k\u00e4ivitada meie 'Hello World', kuid kasutame neist k\u00f5ige lihtsamat, kuna me oleme sellised inimesed...<\/p>\n<p>Alustame minikube klastri k\u00e4ivitamisega:<\/p>\n<pre><code class=\"plaintext\">minikube start\n<\/code><\/pre>\n<p><\/p>\n<h4>Samm 4 \u2013 juurutame meie konteineri pildi<\/h4>\n<p>\nN\u00fc\u00fcd peame meie koodi ja konteineri pildi muutma Kubernetes'i konfiguratsioonideks. Teisis\u00f5nu, me vajame pod'i ja juurutamise m\u00e4\u00e4ratlust, mis viitab meie konteineri pildile DockerHubis. \u00dcks lihtsamaid viise selle tegemiseks on k\u00e4ivitada k\u00e4sk create deployment, viidates meie pildile:<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" 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>\nSelle k\u00e4sklusega \u00fctlesime meie KUBEt'ile, et luua juurutamisconfiguratsioon, mis peab sisaldama pod'i spetsiifikatsiooni meie konteineri pildi jaoks. See k\u00e4sk rakendab ka selle konfiguratsiooni meie minikube klasstris ja loob juurutamise, mis allalaadib meie konteineri pildi ja k\u00e4ivitab pod'i klastri sees.<\/p>\n<h4>Samm 5 \u2013 avame juurdep\u00e4\u00e4su meie teenusele<\/h4>\n<p>\nN\u00fc\u00fcd, kui meil on juurutatud konteineri pilt, on aeg m\u00f5elda, kuidas konfigureerida v\u00e4lisesse juurdep\u00e4\u00e4su sellele Restful-teenusele, mis on tegelikult meie koodis programmeeritud.<\/p>\n<p>Siin on palju v\u00f5imalusi. N\u00e4iteks saab kasutada k\u00e4sklust expose, et automaatselt luua vastavad Kubernetes-komponendid, nagu teenused ja l\u00f5pp-punktid. Just nii me teeme, k\u00e4ivitades k\u00e4skluse expose meie deployment-objekti jaoks:<\/p>\n<pre><code class=\"plaintext\">kubectl expose deployment hello-quarkus --type=NodePort --port=8080\n<\/code><\/pre>\n<p>\nV\u00f5tame hetkeks aja, et peatuda k\u00e4sku expose valikul \u201e--type\u201d.<\/p>\n<p>Kui teeme expose'i ja loome komponendid, mis on vajalikud meie teenuse k\u00e4ivitamiseks, peame muu hulgas tagama, et v\u00e4ljastpoolt saaks \u00fchendust v\u00f5tta teenusega hello-quarkus, mis asub meie programmip\u00f5hises v\u00f5rgus. Ja parameeter <b>type<\/b> aitab meil luua ja \u00fchendada selliseid asju nagu koormuse tasandajad, et suunata liiklust sellesse v\u00f5rku.<\/p>\n<p>N\u00e4iteks, m\u00e4\u00e4rates <b>type=LoadBalancer<\/b>, aktiveerime automaatselt koormuse tasandaja avalikus pilves, et \u00fchenduda meie Kubernetes-klastriga. See on muidugi suurep\u00e4rane, kuid tuleb aru saada, et selline konfiguratsioon on tihedalt seotud konkreetse avaliku pilvega ja seda on raskem \u00fcle kanda erinevate Kubernetes-instantide vahel erinevates keskkondades.<\/p>\n<p>Meie n\u00e4ites <b>type=NodePort<\/b>, st. see our service using the IP address of the node and port number. This option allows us to avoid using any public clouds, but requires a number of additional steps. First of all, you need your own load balancer, which means we will deploy an NGINX load balancer in our cluster.<\/p>\n<h4>Step 6 \u2013 Install the load balancer<\/h4>\n<p>\nMinikube has a number of platform functions that simplify the creation of components needed for external access, such as ingress controllers. Minikube comes with the Nginx ingress controller, and all we need to do is enable and configure it.<\/p>\n<pre><code class=\"plaintext\">minikube addons enable ingress\n<\/code><\/pre>\n<p>\nNow with just one command, I will create the Nginx ingress controller that will operate within our minikube cluster:<\/p>\n<pre><code class=\"plaintext\">ingress-nginx-controller-69ccf5d9d8-j5gs9 1\/1 Running 1 33m\n<\/code><\/pre>\n<p><\/p>\n<h4>Step 7 \u2013 Configure ingress<\/h4>\n<p>\nNext, we need to configure the Nginx ingress controller to handle requests for hello-quarkus.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/18183cb985436447cf15c501e4c6c3a3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/577f1e6218094b5ee23052d49869e838.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>And finally, we need to apply this configuration.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" 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=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/68fba4ef3d2762a97dc5be5de9e6b864.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Since we're doing all this on our computer, we simply add the IP address of our node to the \/etc\/hosts file to direct HTTP requests to our minikube on the NGINX load balancer.<\/p>\n<pre><code class=\"plaintext\">192.168.99.100 hello-quarkus.info\n<\/code><\/pre>\n<p>\nN\u00fc\u00fcd on meie minikube teenus saadaval v\u00e4ljastpoolt Nginx'i ingress-kontrolleri kaudu.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/a456f34d168d43e9236e4769722b7f5d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>No mis, kas see ei olnud lihtne, jah? V\u00f5i mitte just eriti?<\/h3>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/237015dc06bb9d12eb4cd2944dc6df58.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>K\u00e4ivitamine OpenShiftis (Code Ready Containers)<\/h3>\n<p>\nN\u00fc\u00fcd vaatame, kuidas see k\u00f5ik k\u00e4ib Red Hat OpenShift Container Platformil (OCP).<\/p>\n<p>Nagu minikube puhul, valime \u00fche s\u00f5lme OpenShift klastrite skeemi Code Ready Containers (CRC) vormis. Varem tuntud kui minishift, mis p\u00f5hines OpenShift Origini projektil, n\u00fc\u00fcd on see CRC ja ehitatud Red Hati OpenShift Container Platformi peale.<\/p>\n<p>Siin me vabandame, et ei saa j\u00e4tta \u00fctlemata: \u00abOpenShift on imeline!\u00bb<\/p>\n<p>Alguses m\u00f5tlesime kirjutada, et OpenShiftis arendamine ei erine Kuberneteses arendamisest. Ja tegelikult on see nii. Kuid selle postituse kirjutamise ajal meenutasime, kui palju liigseid samme tuleb astuda, kui OpenShiftit pole ja seet\u00f5ttu on see t\u00f5epoolest imeline. Meile meeldib, kui k\u00f5ik k\u00e4ib lihtsalt, ja see, kui lihtsalt meie n\u00e4ide OpenShiftis minikube'iga v\u00f5rreldes k\u00e4ivitub ja t\u00f6\u00f6le hakkab, ajendas meid selle postituse kirjutama.<\/p>\n<p>L\u00e4hme protsessist l\u00e4bi ja vaatame, mida me peame tegema.<\/p>\n<p>Nii et n\u00e4ites minikube'iga alustasime Dockeriga... Oota, meil ei ole enam vaja, et masinal oleks Docker paigaldatud.<\/p>\n<p><b>Ja kohalikku git'i ei ole meil vaja.<br \/>\nJa Maven ei ole vajalik.<br \/>\nJa ei pea k\u00e4sitsi konteineripilti looma.<br \/>\nJa ei pea otsima mingit konteineripiltide register.<br \/>\nJa ingress-kontrollerit ei ole vaja installida.<br \/>\nJa ingress'i konfigureerimine ei ole samuti vajalik.<\/b><\/p>\n<p>Sa said aru, jah? Et meie rakendust OpenShift'is juurutada ja k\u00e4ivitada, ei ole vaja mitte midagi eelnevalt mainituist. Protsess n\u00e4eb v\u00e4lja j\u00e4rgmine.<\/p>\n<h4>Samm 1 \u2013 K\u00e4ivitame oma OpenShift klastrit<\/h4>\n<p>\nKasutame Red Hati Code Ready Containers'i, mis on p\u00f5him\u00f5tteliselt sama, mis Minikube, kuid ainult t\u00e4isfunktsionaalne \u00fchte s\u00f5lme OpenShift klaster.<\/p>\n<pre><code class=\"plaintext\">crc start\n<\/code><\/pre>\n<p><\/p>\n<h4>Samm 2 \u2013 Teeme rakenduse kogumise ja juurutamise OpenShift klasteris<\/h4>\n<p>\nJust sellest sammust alates paistab OpenShift'i lihtsus ja mugavus t\u00e4ielikult silma. Nagu k\u00f5ikides Kubernetes' jaotustes, on meil palju viise rakenduse k\u00e4ivitamiseks klastris. Ja nagu KUK-i puhul, valime me spetsiaalselt k\u00f5ige lihtsama versiooni.<\/p>\n<p>OpenShift on alati ehitatud konteinerirakenduste loomise ja k\u00e4itamise platvormina. Konteinerite koostamine on alati olnud selle platvormi lahutamatu osa, nii et siit leiate hulga t\u00e4iendavaid Kubernetes'i ressursse vastavate \u00fclesannete jaoks.<\/p>\n<p>\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c OpenShift&#8217;\u043e\u0432\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Source 2 Image (S2I), \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0437\u044f\u0442\u044c \u043d\u0430\u0448 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a (\u043a\u043e\u0434 \u0438\u043b\u0438 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b) \u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0439 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 OpenShift.<\/p>\n<p>Selleks vajame kahte asja:<\/p>\n<ul>\n<li>Meie l\u00e4htekood git-repositoriumis<\/li>\n<li>Builder-pilt, mille alusel toimub koostamine.<\/li>\n<\/ul>\n<p>\nSelliseid pilte on palju, mida toetavad nii Red Hat'i j\u00f5ud kui ka kogukond. Kasutame OpenJDK pilti, kuna ma kogun Java-rakendust.<\/p>\n<p>S2I koostamist saab k\u00e4ivitada nii OpenShift Developer'i graafilisest liidesest kui ka k\u00e4surealt. Kasutame k\u00e4sku new-app, m\u00e4\u00e4rates, kust v\u00f5tta builder-pilt ja meie l\u00e4htekood.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" 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\u00f5ik, meie rakendus on loodud. Selles protsessis on S2I teinud j\u00e4rgmised asjad:<\/p>\n<ul>\n<li>Loodud teeninduslik build-pood rakenduse kogumisega seotud asjade jaoks.<\/li>\n<li>Loodud OpenShift Build konfiguratsioon.<\/li>\n<li>Laaditud builder-pilt sisemisse OpenShift docker-rekistrisse.<\/li>\n<li>Kloneeritud 'Hello World' lokaalsetesse repo.<\/li>\n<li>N\u00e4gin, et seal on maven pom, ja seet\u00f5ttu kompileerisin rakenduse koos maveniga.<\/li>\n<li>Loodud uus konteineripilt, mis sisaldab kompileeritud Java rakendust, ja see pilt pandi sisemisse konteinerite registrisse.<\/li>\n<li>Loodud Kubernetes Deployment pod\u2019i, teenuse jne spetsifikatsioonidega.<\/li>\n<li>K\u00e4ivitati konteineripildi deploy.<\/li>\n<li>Kustutatud teeninduslik build-pood.<\/li>\n<\/ul>\n<p>\nSelles nimekirjas on palju asju, aga peamine on see, et kogu kogumine toimub ainult OpenShift\u2019is, sisemine Docker-rekistrite asub OpenShift'is ja kogumise protsess loob k\u00f5ik Kubernetes komponendid ning k\u00e4ivitab need klastri sees.<\/p>\n<p>Kui visuaalselt j\u00e4lgida S2I k\u00e4ivitamist konsoolis, siis v\u00f5ib n\u00e4ha, kuidas build pood k\u00e4ivitatakse kogumise ajal.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/bd69c6e27813b1211a11e522f28f45b7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ja n\u00fc\u00fcd vaatame builder pod\u2019i logisid: k\u00f5igepealt on seal n\u00e4ha, kuidas maven oma t\u00f6\u00f6d teeb ja allalaadib s\u00f5ltuvusi meie java rakenduse kogumiseks.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/326192f9f9373e451d601b77052d67d1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>P\u00e4rast maven-kogumise l\u00f5petamist k\u00e4ivitub konteineri pildi koostamine ja seej\u00e4rel saadetakse see koostatud pilt sisemisse repositooriumisse.<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/c97da4c17a8e275d39104126d0f87048.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Protsess on l\u00f5petatud. N\u00fc\u00fcd veendume, et klastris on k\u00e4ivitatud meie rakenduse pod'id ja teenused.<\/p>\n<pre><code class=\"plaintext\">oc get service\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/f16a098a096128073f305e0444061417.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ja k\u00f5ik. Ainult \u00fcks k\u00e4sk. Meil j\u00e4\u00e4b \u00fcle vaid see teenus avada, et sellele v\u00e4ljast ligi p\u00e4\u00e4seda.<\/p>\n<h4>Samm 3 \u2013 avame teenuse v\u00e4liseks ligip\u00e4\u00e4suks<\/h4>\n<p>\nNagu KUK-i puhul, vajab ka meie 'Hello World' OpenShiftis ruuterit, et suunata v\u00e4list liiklust teenusele klastris. OpenShiftis on see v\u00e4ga lihtne. Esiteks, klastris on vaikimisi seadistatud HAProxy marsruutimise komponent (seda saab muuta ka NGINX-iks). Teiseks, siin on spetsiaalsed ja laialdase konfigureerimismahuga ressursid, mida nimetatakse Routes'iks ja mis meenutavad Ingress-objekte vanas heades Kuberneteses (t tegelikult m\u00f5jutasid OpenShift'i Routes-objektid tugevalt Ingress-objektide kujundamist, mida saab n\u00fc\u00fcd kasutada ka OpenShiftis), kuid meie 'Hello World'i jaoks ja peaaegu k\u00f5igil muudel juhtudel piisab meile tavalise Route'i kasutamisest ilma t\u00e4iendava seadistamiseta.<\/p>\n<p>Ette luua \u201eHello World\u201c marsruutitava FQDN (jah, OpenShiftis on oma DNS teenuste nimede marsruutimiseks), teeme lihtsalt teenusele expose:<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" 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>\nKui vaatame just loodud marsruuti, leiate sealt FQDN-i ja teised marsruudiga seotud andmed:<\/p>\n<pre><code class=\"plaintext\">oc get route\n<\/code><\/pre>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/dc59c36166605ef0a5a24b2b7ffa65b6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ja l\u00f5puks, p\u00e4\u00e4seme oma teenusele veebibrauserist:<\/p>\n<p><img decoding=\"async\" alt=\"Vabandust, OpenShift, me ei hinnanud sind piisavalt ja kohtlesime sind iseenesestm\u00f5istetavalt.\" src=\"\/wp-content\/uploads\/2020\/10\/fccf6cae1746fa59df2ff8ffb6973666.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>N\u00fc\u00fcd oli see t\u00f5esti lihtne!<\/h3>\n<p>\nMe armastame Kubernetes't ja k\u00f5ike, mida see tehnoloogia v\u00f5imaldab, samuti armastame lihtsust ja kergust. Kubernetes loodi selleks, et erakordselt lihtsustada hajutatud, skaleeritavate konteinerite haldamist, kuid rakenduste kasutusele v\u00f5tmiseks ei piisa t\u00e4nap\u00e4eva lihtsusest. Siin tuleb m\u00e4ngu OpenShift, mis on ajaga kaasas ja pakub Kubernetes't, mis on suunatud eelk\u00f5ige arendajatele. OpenShift'i platvormi arendamiseks on tehtud palju t\u00f6\u00f6d, sealhulgas selliste t\u00f6\u00f6riistade nagu S2I, ODI, Developer Portal, OpenShift Operator Framework, IDE integreerimine, Developer Catalogues, Helm integreerimine, monitooring ja paljud teised loomine.<\/p>\n<p>Loodame, et see artikkel oli teile huvitav ja kasulik. T\u00e4iendavate ressursside, materjalide ja muude OpenShift'i platvormil arendamiseks vajalike asjade leidmiseks k\u00fclastage portaali <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/\">Red Hat Developers<\/a><\/noindex>.<br \/>\n<br \/>Allikas: <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 4.9.10 - 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. \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\" \/>\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\/et\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/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\udd47Vabandame, OpenShift, me ei ole sind piisavalt hinnanud ja oleme sind nagu iseenesestm\u00f5istetavaks pidanud | ProHoster","description":"Selle postituse p\u00f5hjus on see, et meie t\u00f6\u00f6tajatel on olnud palju vestlusi klientidega Kubernetes'i rakenduste arendamise ja OpenShift'i spetsiifika \u00fcle. Alustame tavaliselt v\u00e4itest, et Kubernetes on lihtsalt Kubernetes, samas kui OpenShift on juba Kubernetes'i platvorm, nagu Microsoft AKS v\u00f5i Amazon EKS. Igal neist platvormidest on oma","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/prosti-openshift-my-nedostatochno-czenili-tebya-i-prinimali-kak-dolzhnoe","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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. \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","og:url":"https:\/\/prohoster.info\/et\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/97254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=97254"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/97254\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/97255"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=97254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=97254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=97254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}