{"id":35226,"date":"2019-10-31T22:03:05","date_gmt":"2019-10-31T19:03:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator\/"},"modified":"2019-10-31T22:03:05","modified_gmt":"2019-10-31T19:03:05","slug":"gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator","title":{"rendered":"Kubernetes klastrit on lihtne ja mugav seadistada? Tutvustame addon-operatorit","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes klastrit on lihtne ja mugav seadistada? Tutvustame addon-operatorit\" src=\"\/wp-content\/uploads\/8df3959f765d5d1bc8d427d3258aacc4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJ\u00e4rgneb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/447442\/\">shell-operator<\/a><\/noindex> meie vanem vend \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/addon-operator\">addon-operator<\/a><\/noindex>. See on Open Source projekt, mida kasutatakse Kubernetes klastrisse s\u00fcsteemikomponentide paigaldamiseks, mida v\u00f5ib \u00fcldiselt nimetada t\u00e4iendusteks.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Miks on \u00fcldse vaja t\u00e4iendusi?<\/h2>\n<p>\nEi ole saladus, et Kubernetes ei ole valmis k\u00f5ik-\u00fches toode ja 't\u00e4iskasvanud' klastrite ehitamiseks on vajalikud erinevad t\u00e4iendused. Addon-operator aitab neid t\u00e4iendusi paigaldada, konfigureerida ja hoida neid ajakohasena.<\/p>\n<p>T\u00e4iendavate komponentide vajadus klastris on selgitatud <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/449096\/\">ettekandes<\/a><\/noindex> kolleegid <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/driusha\/\" class=\"user_link\">driusha<\/a><\/noindex>. L\u00fchidalt \u00f6eldes, on hetkeolukord Kubernetes'es selline, et lihtsaks paigaldamiseks 'katsetamiseks' piisab v\u00e4lja toodud komponentidest, arendamise ja testimise jaoks v\u00f5ib lisada Ingress'i, kuid t\u00e4ieliku paigaldamise jaoks, millest v\u00f5ib \u00f6elda 'teie tootmine on valmis', on vajalik lisada peaaegu k\u00fcmme erinevat t\u00e4iendust: midagi j\u00e4lgimiseks, midagi logide jaoks, mitte unustada ingress'i ja cert-manager'i, eraldada s\u00f5lmede gruppe, lisada v\u00f5rgupoliitikaid, lisada sysctl'i seadistusi ja pod autoscaler\u2026<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes klastrit on lihtne ja mugav seadistada? Tutvustame addon-operatorit\" src=\"\/wp-content\/uploads\/ab3bed8ee8b29d4e51905e45c908f078.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Millised on nende t\u00f6\u00f6spetsiifikad?<\/h2>\n<p>\nKogemus n\u00e4itab, et lihtsalt paigaldamine ei piisa. Klasteri mugavaks kasutamiseks tuleb t\u00e4iendusi v\u00e4rskendada, v\u00e4lja l\u00fclitada (klastrist eemaldada) ja v\u00f5ib-olla on soovitud neid testida enne tootmisklastrisse installimist.<\/p>\n<p>Nii et, v\u00f5ib-olla piisab sellest Ansible'st? V\u00f5ib-olla. Kuid <b>t\u00e4ielikud t\u00e4iendused ei toimi tavaliselt ilma seadistusteta<\/b>. Need to be adjusted depending on the cluster variant (aws, gce, azure, bare-metal, do, \u2026). Some settings cannot be predefined \u2014 they need to be obtained from the cluster. The cluster is not static: for certain settings, you'll have to monitor changes. Here, Ansible falls short: a program that lives within the cluster is necessary, i.e., a Kubernetes Operator.<\/p>\n<p>Need, kes on proovinud t\u00f6\u00f6l <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/shell-operator\">shell-operator<\/a><\/noindex>, \u00fctlevad, et t\u00e4ienduste paigaldamise ja v\u00e4rskendamise ning seadistuste j\u00e4lgimise \u00fclesandeid saab \u00fcsna h\u00e4sti lahendada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/shell-operator\/blob\/master\/HOOKS.md\">hookide paralleelseks t\u00e4itmiseks.<\/a><\/noindex> shell-operatori abil. Saame kirjutada skripti, mis teeb tingimuslikku <code>kubectl apply<\/code> ja j\u00e4lgib n\u00e4iteks ConfigMap'i, kus hoitakse seadistusi. Umbes selline on ka addon-operator'i rakendamine.<\/p>\n<h2>Kuidas on see korraldatud addon-operator'is?<\/h2>\n<p>\nUue lahenduse loomisel l\u00e4henesime me j\u00e4rgmistele p\u00f5him\u00f5tetele:<\/p>\n<ul>\n<li> T\u00e4ienduste paigaldaja peab toetama <b>mallimist ja deklaratiivset konfiguratsiooni<\/b>. Me ei tee v\u00f5luvaid skripte, mis installivad lisaosasid. Addon-operator kasutab Helm'i lisaosade installimiseks. Installimiseks tuleb luua chart ja v\u00e4lja tuua v\u00e4\u00e4rtused, mida kasutatakse seadistamiseks. <\/li>\n<li> Seadeid on v\u00f5imalik <b>genereerida installimise k\u00e4igus<\/b>, neid on v\u00f5imalik <b>saada klastrist<\/b>, v\u00f5i <b>saada uuendusi<\/b>, j\u00e4lgides klastrite ressursse. Need toimingud on v\u00f5imalikud l\u00e4bi hook'ide.<\/li>\n<li> Seadeid on v\u00f5imalik <b>hoida klastris<\/b>. Seadete hoidmiseks klastris luuakse ConfigMap\/addon-operator ja Addon-operator j\u00e4lgib selle ConfigMap'i muudatusi. Addon-operator v\u00f5imaldab hook'idel seada seadetele lihtsate kokkulepete kaudu juurdep\u00e4\u00e4su.<\/li>\n<li> <b>Lisaosa s\u00f5ltub seadistustest<\/b>. Kui seadeid muudetakse, siis Addon-operator v\u00e4ljastab Helm'i chart'i uute v\u00e4\u00e4rtustega. Helm'i chart'i, v\u00e4\u00e4rtuste ja hook'ide \u00fchendamist oleme nimetanud mooduliks (lisainfot vt allpool).<\/li>\n<li> <b>Etappide loomine<\/b>. Pole v\u00f5luvaid v\u00e4ljaandmis-skripte. Uuenduste mehhanism on sarnane tavalise rakendusega \u2014 koguda lisaosasid ja addon-operatorit pildiks, m\u00e4rgistada ja v\u00e4lja anda.<\/li>\n<li> <b>Tulemuse kontrollimine<\/b>. Addon-operator suudab edastada metrikat Prometheusele.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Mis on lisaosa addon-operator'is?<\/h2>\n<p>\nLisaosaks v\u00f5ib pidada k\u00f5ike, mis lisab klastrile uusi funktsioone. N\u00e4iteks, Ingress'i installimine \u2014 suurep\u00e4rane n\u00e4ide lisaosast. See v\u00f5ib olla iga operaator v\u00f5i kontrollija oma CRD'ga: prometheus-operator, cert-manager, kube-controller-manager jne. V\u00f5i midagi v\u00e4ikest, mis lihtsustab haldust \u2014 n\u00e4iteks, secret copier, mis kopeerib registry-saladusi uutesse nimede ruumidesse, v\u00f5i sysctl tuner, mis seadistab sysctl parameetreid uutel s\u00f5lmedel.<\/p>\n<p>Lisaosade rakendamiseks pakub Addon-operator mitmeid kontseptsioone:<\/p>\n<ul>\n<li> <b>Helm'i chart<\/b> kasutatakse erineva tarkvara installimiseks klastrisse \u2014 n\u00e4iteks, Prometheus, Grafana, nginx-ingress. Kui vajalikul komponendil on Helm'i chart, siis on selle installimine Addon-operator'i kaudu v\u00e4ga lihtne.<\/li>\n<li> <b>V\u00e4\u00e4rtuste hoidla<\/b>. Helm'i chart'idel on tavaliselt palju erinevaid seadeid, mis v\u00f5ivad aja jooksul muutuda. Addon-operator toetab nende seadete hoidmist ja suudab j\u00e4lgida nende muudatusi, et uuesti installida Helm'i chart koos uute v\u00e4\u00e4rtustega.<\/li>\n<li> <b>Hook'id<\/b> \u2014 need on k\u00e4ivitatavad failid, mida Addon-operator k\u00e4ivitab s\u00fcndmuste p\u00f5hjal ja millel on juurdep\u00e4\u00e4s values salvestusele. H\u00fcpe v\u00f5ib j\u00e4lgida muudatusi klastris ja v\u00e4rskendada v\u00e4\u00e4rtusi values salvestuses. See t\u00e4hendab, et h\u00fcpikute abil saab teha avastamist, et koguda v\u00e4\u00e4rtusi klastrist k\u00e4ivitamisel v\u00f5i ajakava kohaselt, v\u00f5i kasutada pidevat avastamist, kogudes v\u00e4\u00e4rtusi klastrist muudatuste p\u00f5hjal.<\/li>\n<li> <b>Moodul<\/b> \u2014 on Helm-chart, values salvestuse ja h\u00fcpikute kogum. Mooduleid saab sisse ja v\u00e4lja l\u00fclitada. Mooduli v\u00e4ljal\u00fclitamine t\u00e4hendab k\u00f5igi Helm-chart'i v\u00e4ljaande eemaldamist. Moodulid saavad d\u00fcnaamiliselt ise sisse l\u00fclituda, n\u00e4iteks kui k\u00f5ik vajalikud moodulid on sisse l\u00fclitatud v\u00f5i kui avastamine h\u00fcpikutes on leidnud vajalikud parameetrid \u2014 see toimub abistava enabled-skripti abil.<\/li>\n<li> <b>Globaalne h\u00fcpe<\/b>. Need on \u00abiseseisvad\u00bb h\u00fcpikud, mis ei kuulu moodulitesse ja millel on juurdep\u00e4\u00e4s globaalsetele values salvestusele, mille v\u00e4\u00e4rtused on k\u00f5ikidele moodulite h\u00fcpikutele kergesti k\u00e4tte saadavad.<\/li>\n<\/ul>\n<p>\nKuidas need osad koos t\u00f6\u00f6tavad? Vaatame dokumentatsioonist pilti:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes klastrit on lihtne ja mugav seadistada? Tutvustame addon-operatorit\" src=\"\/wp-content\/uploads\/c9bb8e5ae78aa5df0d6c4fbf353e4236.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOn kaks t\u00f6\u00f6stsenaariumi:<\/p>\n<ol>\n<li> Globaalne h\u00fcpe k\u00e4ivitub s\u00fcndmuse p\u00f5hjal \u2014 n\u00e4iteks, kui ressurssi klastris muudetakse. See h\u00fcpe t\u00f6\u00f6tleb muudatusi ja salvestab uued v\u00e4\u00e4rtused globaalsetesse values salvestustesse. Addon-operator m\u00e4rkab, et globaalne salvestus on muutunud ja k\u00e4ivitab k\u00f5ik moodulid. Iga moodul m\u00e4\u00e4rab oma h\u00fcpikute abil, kas seda on vaja sisse l\u00fclitada, ning v\u00e4rskendab oma values salvestust. Kui moodul on sisse l\u00fclitatud, k\u00e4ivitab Addon-operator Helm-chart'i. Helm-chart'il on juurdep\u00e4\u00e4s v\u00e4\u00e4rtustele mooduli salvestusest ja globaalsetest salvestustest.<\/li>\n<li> Teine stsenaarium on lihtsam: mooduli h\u00fcpe k\u00e4ivitub s\u00fcndmuse p\u00f5hjal, muudab v\u00e4\u00e4rtusi mooduli values salvestuses. Addon-operator m\u00e4rkab seda ja k\u00e4ivitab Helm-chart'i v\u00e4rskendatud v\u00e4\u00e4rtustega.<\/li>\n<\/ol>\n<p>\nT\u00e4iendust v\u00f5ib rakendada \u00fcheainsa h\u00fcpena v\u00f5i \u00fche Helm-chart'ina v\u00f5i <b>isegi kui mitme s\u00f5ltuva moodulina<\/b> \u2014 see s\u00f5ltub klastrisse installitava komponendi keerukusest ja vajalikust seadistuste paindlikkusest. N\u00e4iteks, repositooriumis (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/addon-operator\/tree\/master\/examples\">\/examples<\/a><\/noindex>) on sysctl-tuner t\u00e4ienduse, mis on rakendatud nii lihtsa moodulina, millel on h\u00fcpe ja Helm-chart, kui ka kasutades values salvestust, mis v\u00f5imaldab seadeid lisada ConfigMap-i redigeerimise kaudu.<\/p>\n<h2>Uuenduste edastamine<\/h2>\n<p>\nM\u00f5ned s\u00f5nad komponentide v\u00e4rskendamise korraldamisest, mida paigaldab Addon-operator.<\/p>\n<p>Addon-operatori k\u00e4ivitamiseks klastris on vaja <b>koguda lisandite pilt<\/b> nagu hook-failid ja Helm-chartid, lisada binaarfail <code>addon-operator<\/code> ja k\u00f5ik, mis vajalik hookide jaoks: <code>bash<\/code>, <code>kubectl<\/code>, <code>jq<\/code>, <code>python<\/code> jne. Edasi v\u00f5ib seda pilti klastrisse v\u00e4lja anda nagu tavalist rakendust ning t\u00f5en\u00e4oliselt soovite korraldada mingit silti. Kui klastreid on v\u00e4he, v\u00f5ib sobida sama l\u00e4henemine nagu rakenduste puhul: uus versioon, uus versioon, minna k\u00f5ikide klastrite juurde ja muuta Pod'ide image. Siiski, kui on palju klastreid, sobib meile rohkem eneset\u00e4iendamise kontseptsioon kanalist. <\/p>\n<p>Meil on see korraldatud nii:<\/p>\n<ul>\n<li>Kanal on p\u00f5him\u00f5tteliselt identifitseerija, mille saate m\u00e4\u00e4rata igasuguseks (n\u00e4iteks dev\/stage\/ea\/stable).<\/li>\n<li>Kanali nimi on pildi silt. Kui on vaja v\u00e4rskendusi kanali jaoks v\u00e4lja anda, kogutakse uus pilt ja sildistatakse kanali nimega.<\/li>\n<li>Kui registry'sse ilmub uus pilt, taask\u00e4ivitub Addon-operator ja k\u00e4ivitatakse uue pildiga.<\/li>\n<\/ul>\n<p>\nSee ei ole parim praktika, millest on kirjutatud <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/containers\/images\/#updating-images\">Kubernetes'e dokumentatsioonile<\/a><\/noindex>. Sedasi toimimist ei soovitata, kuid jutt k\u00e4ib <i>tavalisest rakendusest, mis elab \u00fches klastris<\/i>. Addon-operatori puhul on rakendus hulk Deploymente, mis on laiali klastrite vahel, ja eneset\u00e4iendamine aitab v\u00e4ga ning lihtsustab elu. <\/p>\n<p>Kanalid aitavad samuti <b>testimisel<\/b>: kui on abiklastr, saab selle kanali jaoks seadistada <code>stage<\/code> ja veenda v\u00e4rskendusi sinna, enne kui need kanalitesse v\u00e4lja antakse <code>ea<\/code> ja <code>stable<\/code>. Kui kanali klastriga <code>ea<\/code> t\u00fc\u00fcbis esines viga, saab selle suunata <code>stable<\/code>, kuni sellega seotud probleemi uurimine toimub. Kui klaster on v\u00e4lja viidud aktiivsest toimest, l\u00fclitatakse see oma \"k\u00fclmutatud\" kanalile \u2014 n\u00e4iteks, <code>freeze-2019-03-20<\/code>.<\/p>\n<p>Lisaks hookide ja Helm-chartide v\u00e4rskendamisele v\u00f5ib olla vajalik <b>uuendada ka v\u00e4list komponenti<\/b>. N\u00e4iteks, kui leiate vean node-exporteris ja olete isegi m\u00f5elnud, kuidas seda patcheerida. Edasi avasite PR-i ja ootate uut v\u00e4ljaandmist, et minna \u00fcle k\u00f5ikide klastrite ja suurendada pildi versiooni. Et mitte oodata m\u00e4\u00e4ramata aega, saate koguda enda node-exporteri ja l\u00fclituda selle peale, kuni PR aktsepteeritakse.<\/p>\n<p>Tegelikult saab seda teha ka ilma Addon-operatorita, kuid koos Addon-operatoriga on node-exporter'i installimise moodul \u00fches repostiivis n\u00e4htav, Dockerfile oma pildi loomisel saab hoida seal samas, k\u00f5igil osalistel on lihtsam m\u00f5ista, mis toimub... Ja kui klastreid on mitu, siis on kergem nii testida oma PR-i kui ka uut versiooni paigaldada!<\/p>\n<p>See komponentide v\u00e4rskendamise organisatsioon t\u00f6\u00f6tab meil edukalt, kuid v\u00f5ib rakendada ka mistahes muud sobivat skeemi \u2014 sest <b>antud juhul on Addon-operator lihtne binaarfail<\/b>.<\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nAddon-operatoris rakendatud p\u00f5him\u00f5tted v\u00f5imaldavad luua l\u00e4bipaistva protsessi lisandite loomisel, testimisel, paigaldamisel ja v\u00e4rskendamisel klastris, mis on sarnane tavaliste rakenduste arendusprotsessidega.<\/p>\n<p>Addon-operatori lisandeid saab moodulite (Helm-chart + hookid) vormis avalikult jagada. Meie, Flanti ettev\u00f5te, plaanime suve jooksul jagada oma arendusi selliste lisandite n\u00e4ol. Liituge arendusega GitHubis (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/shell-operator\">shell-operator<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/addon-operator\"><b>addon-operator<\/b><\/a><\/noindex>), proovige luua oma lisandit p\u00f5hinedes <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/addon-operator\/tree\/master\/examples\">n\u00e4idistele<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/addon-operator\/blob\/master\/README.md\">dokumentatsioon<\/a><\/noindex>, ootake uudiseid Habrest ja meie <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/c\/%D0%A4%D0%BB%D0%B0%D0%BD%D1%82\">YouTube'i kanalilt<\/a><\/noindex>!<\/p>\n<h2>P.S.<\/h2>\n<p>\nLugege ka meie blogist:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/449096\/\">T\u00e4iendame ja t\u00e4iustame Kubernetes\u2019t (\u00fclevaade ja videodoklad)<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/447442\/\">Tutvustame shell-operatorit: Kubernetes'e operaatorite loomine on veelgi lihtsamaks muutunud<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/455543\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u043b\u0435\u0434 \u0437\u0430 shell-operator \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e \u0431\u0440\u0430\u0442\u0430 \u2014 addon-operator. \u042d\u0442\u043e Open Source-\u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u043e\u0431\u0449\u0438\u043c \u0441\u043b\u043e\u0432\u043e\u043c \u2014 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f? \u041d\u0435 \u0441\u0435\u043a\u0440\u0435\u0442, \u0447\u0442\u043e Kubernetes \u044d\u0442\u043e \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0432\u0441\u0451-\u0432-\u043e\u0434\u043d\u043e\u043c, \u0438 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u00ab\u0432\u0437\u0440\u043e\u0441\u043b\u043e\u0433\u043e\u00bb \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. Addon-operator \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35226","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\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\/gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\u0413\u043e\u0442\u043e\u0432\u0438\u0442\u044c Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0443\u0434\u043e\u0431\u043d\u043e? \u0410\u043d\u043e\u043d\u0441\u0438\u0440\u0443\u0435\u043c addon-operator | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator\" \/>\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=\"2019-10-31T19:03:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:03:05+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\udd47On lihtne ja mugav Kubernetes'i klastrit seadistada? Anname teada addon-operatori | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator","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\u0413\u043e\u0442\u043e\u0432\u0438\u0442\u044c Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0443\u0434\u043e\u0431\u043d\u043e? \u0410\u043d\u043e\u043d\u0441\u0438\u0440\u0443\u0435\u043c addon-operator | ProHoster","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/gotovit-kubernetes-klaster-prosto-i-udobno-anonsiruem-addon-operator","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":"2019-10-31T19:03:05+00:00","article:modified_time":"2019-10-31T19:03:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35226","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":"2026-01-21 22:25:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:07:29","updated":"2026-01-21 22:25:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/35226","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=35226"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/35226\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=35226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=35226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=35226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}