{"id":55700,"date":"2020-01-26T00:00:00","date_gmt":"2020-01-25T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti"},"modified":"2020-02-18T14:03:50","modified_gmt":"2020-02-18T11:03:50","slug":"trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","title":{"rendered":"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Heisenbergov princ\u00edp neur\u010ditosti hovor\u00ed, \u017ee nie je mo\u017en\u00e9 z\u00e1rove\u0148 zmera\u0165 polohu objektu a jeho r\u00fdchlos\u0165. Ak sa objekt pohybuje, nem\u00e1 presn\u00fa polohu. A ak je polohy, znamen\u00e1 to, \u017ee nem\u00e1 r\u00fdchlos\u0165.<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/617ace5f892b62652b404b24585537b0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u010co sa t\u00fdka mikroslu\u017eieb na platforme Red Hat OpenShift (a spravovan\u00fdch Kubernetes), v\u010faka vhodn\u00e9mu softv\u00e9ru s otvoren\u00fdm k\u00f3dom m\u00f4\u017eu s\u00fa\u010dasne hl\u00e1si\u0165 o svojej v\u00fdkonnosti a funk\u010dnosti. Toto samozrejme neodporuje star\u00e9mu Heisenbergovi, ale odstra\u0148uje neur\u010ditos\u0165 pri pr\u00e1ci s cloudov\u00fdmi aplik\u00e1ciami. Istio umo\u017e\u0148uje jednoducho organizova\u0165 sledovanie a monitoring t\u00fdchto aplik\u00e1ci\u00ed, aby sme mali v\u0161etko pod kontrolou.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Definujeme terminol\u00f3giu<\/h3>\n<p>\nPod <b>sledovan\u00edm<\/b> (Tracing) ch\u00e1peme ako zaznamen\u00e1vanie syst\u00e9movej aktivity. Znie to dos\u0165 v\u0161eobecne, ale v skuto\u010dnosti jedno z hlavn\u00fdch pravidiel spo\u010d\u00edva v tom, aby sa d\u00e1ta sledovania ukl\u00e1dali do pr\u00edslu\u0161n\u00e9ho \u00falo\u017eiska, bez oh\u013eadu na ich form\u00e1tovanie. A v\u0161etka pr\u00e1ca na vyh\u013ead\u00e1van\u00ed a anal\u00fdze d\u00e1t sa pren\u00e1\u0161a na ich konzumenta. V Istio sa pou\u017e\u00edva syst\u00e9m sledovania Jaeger, ktor\u00fd implementuje model d\u00e1t OpenTracing.<\/p>\n<p><b>Sledovan\u00edm<\/b> (Traces, a slovo \u201esledovanie\u201c je tu pou\u017eit\u00e9 v zmysle \u201estopy\u201c, ako napr\u00edklad v balistickej expert\u00edze) budeme ozna\u010dova\u0165 d\u00e1ta, ktor\u00e9 \u00faplne popisuj\u00fa priebeh po\u017eiadavky alebo \u00falohy, ako sa hovor\u00ed, \u201eod a do\u201c. Napr\u00edklad v\u0161etko, \u010do sa deje od momentu, ke\u010f pou\u017e\u00edvate\u013e klikne na tla\u010didlo na webovej str\u00e1nke, a\u017e po moment vr\u00e1tenia d\u00e1t, vr\u00e1tane v\u0161etk\u00fdch zapojen\u00fdch mikroslu\u017eieb. M\u00f4\u017eeme poveda\u0165, \u017ee jedna trasa \u00faplne opisuje (alebo modeluje) priebeh po\u017eiadavky tam a sp\u00e4\u0165. V jaegerovskom rozhran\u00ed s\u00fa stopy rozlo\u017een\u00e9 na jednotliv\u00e9 zlo\u017eky pod\u013ea \u010dasovej osi, ako keby sa re\u0165az rozlo\u017eila na jednotliv\u00e9 \u010dl\u00e1nky. Iba\u017ee namiesto \u010dl\u00e1nkov je stopa zlo\u017een\u00e1 z takzvan\u00fdch spanov.<\/p>\n<p><b>Span<\/b> \u2013 to je interval od za\u010diatku vykon\u00e1vania \u00falohy po jej dokon\u010denie. Pokra\u010duj\u00fac v anal\u00f3gii, m\u00f4\u017eeme poveda\u0165, \u017ee ka\u017ed\u00fd span predstavuje samostatn\u00fd \u010dl\u00e1nok re\u0165aze. Span m\u00f4\u017ee ma\u0165 (alebo nemus\u00ed ma\u0165) jeden alebo viac podriaden\u00fdch spanov. Ako d\u00f4sledok, span najvy\u0161\u0161ej \u00farovne (root span) bude ma\u0165 rovnak\u00fa celkov\u00fa d\u013a\u017eku ako stopa, s ktorou s\u00favis\u00ed.<\/p>\n<p><b>Monitorovanie<\/b> \u2013 to je vlastne samotn\u00e9 sledovanie va\u0161ej s\u00fastavy \u2013 o\u010dami, cez UI alebo pomocou automatiza\u010dn\u00fdch prostriedkov. V jadre monitorovania s\u00fa \u00fadaje trasovania. V Istio je monitorovanie implementovan\u00e9 pomocou Promethea a m\u00e1 zodpovedaj\u00face UI. Prometheus podporuje automatick\u00e9 monitorovanie s vyu\u017eit\u00edm upozornen\u00ed Alerts a Alert Managers.<\/p>\n<h3>Zanech\u00e1vame zna\u010dky<\/h3>\n<p>\nAby sa trasovanie stalo mo\u017en\u00fdm, aplik\u00e1cia mus\u00ed vytvori\u0165 kolekciu span-ov. Potom je potrebn\u00e9 ich exportova\u0165 do Jaeger, aby ten na opl\u00e1tku vytvoril vizu\u00e1lne zobrazenie trasovania. Medzi in\u00fdm tieto span-y ozna\u010duj\u00fa n\u00e1zov oper\u00e1cie, ako aj \u010dasov\u00e9 pe\u010diatky jej za\u010datia a ukon\u010denia. Odovzd\u00e1vanie span-ov sa vykon\u00e1va preposielan\u00edm ur\u010den\u00fdch pre Jaeger hlavi\u010diek HTTP po\u017eiadaviek od prich\u00e1dzaj\u00facich po\u017eiadaviek k odch\u00e1dzaj\u00facim po\u017eiadavk\u00e1m. V z\u00e1vislosti od pou\u017e\u00edvan\u00e9ho programovacieho jazyka m\u00f4\u017ee by\u0165 k tomu potrebn\u00e1 drobn\u00e1 modifik\u00e1cia zdrojov\u00e9ho k\u00f3du aplik\u00e1ci\u00ed. Ni\u017e\u0161ie je uveden\u00fd pr\u00edklad k\u00f3du v Jave (pri pou\u017eit\u00ed r\u00e1mca Spring Boot), ktor\u00fd prid\u00e1va hlavi\u010dky B3 (\u0161t\u00fdl Zipkin) k v\u00e1\u0161mu po\u017eiadavku v konfigura\u010dnej triede Spring:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/2314e2d156dc9b9fdb299af2dac01f66.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPri tom sa pou\u017e\u00edvaj\u00fa nasleduj\u00face nastavenia hlavi\u010diek:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/18f0a13af27665ec2d154ff4cff48157.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAk pou\u017e\u00edvate Javu, k\u00f3d m\u00f4\u017eete necha\u0165 tak, ako je, a jednoducho prida\u0165 nieko\u013eko riadkov do POM s\u00faboru Maven a nastavi\u0165 premenn\u00e9 prostredia. Tu s\u00fa riadky, ktor\u00e9 treba prida\u0165 do s\u00faboru POM.XML, aby sa implementoval Jaeger Tracer Resolver:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/a63a634c2c22fc09a237cafc4873855d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA zodpovedaj\u00face premenn\u00e9 prostredia sa ur\u010duj\u00fa v Dockerfile:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/7fe9046242d7e628342a6266e4a2f743.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV\u0161etko, teraz je v\u0161etko nastaven\u00e9 a na\u0161e mikroslu\u017eby za\u010dn\u00fa generova\u0165 \u00fadaje trasovania.<\/p>\n<h3>Pozrieme sa na to v hrub\u00fdch rysoch<\/h3>\n<p>\nS\u00fa\u010das\u0165ou Istio je jednoduch\u00e1 kontroln\u00e1 panel na b\u00e1ze Grafany. Ke\u010f je v\u0161etko nastaven\u00e9 a funguje na platforme Red Hat OpenShift PaaS (v na\u0161om pr\u00edklade je Red Hat OpenShift a Kubernetes nasaden\u00e9 na minishift), tento panel sa sp\u00fa\u0161\u0165a nasleduj\u00facou pr\u00edkazom:<\/p>\n<pre><code class=\"plaintext\">otvorte \"$(minishift openshift service grafana -u)\\\/d\\\/1\\\/istio-dashboard?refresh=5&amp;ord;Id=1\"\n<\/code><\/pre>\n<p>\nPanel Grafana umo\u017e\u0148uje r\u00fdchlo zhodnoti\u0165 v\u00fdkon syst\u00e9mu. Fragment tohto panela je zobrazen\u00fd na nasleduj\u00facom obr\u00e1zku:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/2c10cd23fd5166f437c2b3c1d50c6a18.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTu je vidno, \u017ee mikroslu\u017eba customer vol\u00e1 mikroslu\u017ebu preference v1, a t\u00e1 zase vol\u00e1 mikroslu\u017eby recommendation v1 a v2. Na paneli Grafana je blok Dashboard Row pre vysok\u00fa \u00farove\u0148 metrik ako celkov\u00fd po\u010det po\u017eiadaviek (Global Request Volume), podiel \u00faspe\u0161n\u00fdch po\u017eiadaviek (success rates) a chyby 4xx. Okrem toho je tam zobrazenie Server Mesh s grafmi pre ka\u017ed\u00fa slu\u017ebu a blok Services Row na preh\u013ead podrobn\u00fdch inform\u00e1ci\u00ed o ka\u017edom kontajneri pre ka\u017ed\u00fa slu\u017ebu.<\/p>\n<h3>Teraz sa pozrime hlb\u0161ie<\/h3>\n<p>\nPri spr\u00e1vne nastavenom trasovan\u00ed Istio, takpovediac, priamo z krabice, umo\u017e\u0148uje podrobne presk\u00fama\u0165 anal\u00fdzu v\u00fdkonnosti syst\u00e9mu. V Jaegerovskom UI m\u00f4\u017eete prezera\u0165 trasovania a vidie\u0165, ako \u010faleko a hlboko siahaj\u00fa, a taktie\u017e vizu\u00e1lne lokalizova\u0165 \u00fazke miesta vo v\u00fdkonnosti. Pri pou\u017eit\u00ed Red Hat OpenShift na platforme minishift spust\u00edte Jaeger UI nasleduj\u00facim pr\u00edkazom:<\/p>\n<pre><code class=\"plaintext\">minishift openshift service jaeger-query --in-browser\n<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/074fea646ad191f819a9a67a3f311c8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u010co m\u00f4\u017eeme poveda\u0165 o trasovan\u00ed na tomto sn\u00edmku:<\/p>\n<ul>\n<li>Rozde\u013euje sa na 7 span\u2019ov.<\/li>\n<li>Celkov\u00fd \u010das vykonania je 6,99 ms.<\/li>\n<li>Na mikroslu\u017ebu recommendation, ktor\u00e1 je posledn\u00e1 v re\u0165azci, sa m\u00ed\u0148a 0,69 ms.<\/li>\n<\/ul>\n<p>\nDiagramy tohto typu umo\u017e\u0148uj\u00fa r\u00fdchlo sa zorientova\u0165 v situ\u00e1cii, ke\u010f kv\u00f4li jedn\u00e9mu neefekt\u00edvnemu servisu trp\u00ed v\u00fdkonnos\u0165 cel\u00e9ho syst\u00e9mu.<\/p>\n<p>A teraz si \u00falohu skomplikujeme a spust\u00edme dva in\u0161tancie mikroslu\u017eby recommendation:v2 pr\u00edkazom oc scale &#8212;replicas=2 deployment\\\/recommendation-v2. Takto bud\u00fa vyzera\u0165 na\u0161e pod\u2019y:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/0ecb8d78d6967d0392de67be6553b870.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAk sa teraz prepneme sp\u00e4\u0165 do Jaeger a rozbal\u00edme span pre slu\u017ebu recommendation, uvid\u00edme, na ktor\u00fd pod sa smeruj\u00fa po\u017eiadavky. Takto m\u00f4\u017eeme \u013eahko lokalizova\u0165 spomalenia na \u00farovni konkr\u00e9tneho pod\u2018a. Pri tom treba pozera\u0165 na pole node_id:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/474da66c581692cd11070a1732ac5458.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Kam a ako v\u0161etko chod\u00ed<\/h3>\n<p>\nTeraz prech\u00e1dzame do rozhrania Prometheus a \u00faplne o\u010dak\u00e1vane vid\u00edme, \u017ee po\u017eiadavky medzi druhou a prvou verziou slu\u017eby recommendation sa delia v pomere 2:1, striktne pod\u013ea po\u010dtu funk\u010dn\u00fdch pod\u2019ov. A tento graf sa bude dynamicky meni\u0165 pri \u0161k\u00e1lovan\u00ed pod\u2019ov nahor a nadol, \u010do bude obzvl\u00e1\u0161\u0165 u\u017eito\u010dn\u00e9 pri Canary Deployment (t\u00fato sch\u00e9mu nasadenia si podrobnej\u0161ie pribl\u00ed\u017eime nabud\u00face).<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/c080fffd2398b0a2eac3e63665bdb0a7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>V\u0161etko len za\u010d\u00edna<\/h3>\n<p>\nV skuto\u010dnosti sme dnes, povedzme, len jemne na\u010drtli studnicu u\u017eito\u010dn\u00fdch inform\u00e1ci\u00ed o Jaeger, Grafana a Prometheus. V podstate to bolo na\u0161\u00edm cie\u013eom \u2013 nasmerova\u0165 v\u00e1s spr\u00e1vnym smerom a odkry\u0165 perspekt\u00edvy Istio.<\/p>\n<p>A pam\u00e4tajte, v\u0161etko toto je u\u017e integrovan\u00e9 do Istio. Pri pou\u017eit\u00ed ur\u010dit\u00fdch programovac\u00edch jazykov (napr\u00edklad Java) a r\u00e1mcov (napr\u00edklad Spring Boot) je mo\u017en\u00e9 to v\u0161etko zrealizova\u0165 bez z\u00e1sahu do samotn\u00e9ho k\u00f3du aplik\u00e1ci\u00ed. \u00c1no, k\u00f3d bude potrebn\u00e9 mierne upravi\u0165, ak pou\u017e\u00edvate in\u00e9 jazyky, najm\u00e4 ide o Nodejs alebo C#. Ale preto\u017ee sledovate\u013enos\u0165 (\u010d\u00edtaj, \u201etrasovanie\u201c) je jednou z povinn\u00fdch podmienok pri vytv\u00e1ran\u00ed spo\u013eahliv\u00fdch cloudov\u00fdch syst\u00e9mov, bud\u00fa musie\u0165 by\u0165 v ka\u017edom pr\u00edpade \u00fapravy k\u00f3du, \u010di u\u017e m\u00e1te Istio alebo nie. Tak pre\u010do nevyu\u017ei\u0165 \u00fasilie s v\u00e4\u010d\u0161\u00edm osohom?<\/p>\n<p>Aspo\u0148 na to, aby ste v\u017edy mohli odpoveda\u0165 na ot\u00e1zky \u201ekde?\u201c a \u201eako r\u00fdchlo?\u201c s 100% istotou.<\/p>\n<h3>Chaos in\u017einierstvo v Istio: presne tak to bolo navrhnut\u00e9<\/h3>\n<p><\/p>\n<h3>Schopnos\u0165 rozb\u00edja\u0165 veci pom\u00e1ha zabezpe\u010di\u0165, aby sa nerozbili<\/h3>\n<p>\nTestovanie softv\u00e9ru nie je len zlo\u017eit\u00e1, ale aj d\u00f4le\u017eit\u00e1 \u00faloha. Zatia\u013e \u010do testovanie spr\u00e1vnosti (napr\u00edklad vracia funkcia spr\u00e1vny v\u00fdsledok) je jedna vec, testovanie v podmienkach nespolehlivej siete je \u00faplne in\u00e1 \u00faloha (\u010dasto sa predpoklad\u00e1, \u017ee sie\u0165 funguje bez v\u00fdpadkov, a to je prv\u00e9 z \u00f4smich omylov t\u00fdkaj\u00facich sa distribuovan\u00fdch v\u00fdpo\u010dtov). Jednou z komplik\u00e1ci\u00ed pri rie\u0161en\u00ed tejto \u00falohy je, ako simulova\u0165 zlyhania v syst\u00e9me alebo ich z\u00e1merne zav\u00e1dza\u0165 prostredn\u00edctvom takzvanej fault injection. To sa d\u00e1 robi\u0165 \u00fapravou zdrojov\u00e9ho k\u00f3du samotnej aplik\u00e1cie. Ale potom budete testova\u0165 u\u017e nie v\u00e1\u0161 p\u00f4vodn\u00fd k\u00f3d, ale jeho verziu, ktor\u00e1 \u0161peci\u00e1lne simuluje zlyhania. V d\u00f4sledku toho riskujete spadn\u00fa\u0165 do smrte\u013en\u00e9ho objatia fault injection a narazi\u0165 na gejz\u00ednbagy \u2013 zlyhania, ktor\u00e9 zmizn\u00fa pri pokuse ich odhali\u0165.<\/p>\n<p>A teraz v\u00e1m uk\u00e1\u017eeme, ako Istio pom\u00e1ha zvl\u00e1dnu\u0165 tieto komplik\u00e1cie s \u013eahkos\u0165ou.<\/p>\n<h3>Ako v\u0161etko vyzer\u00e1, ke\u010f je v\u0161etko v poriadku<\/h3>\n<p>\nPozrime sa na nasleduj\u00faci scen\u00e1r: m\u00e1me dva pod\u2019y pre na\u0161u mikroslu\u017ebu recommendation, ktor\u00fa sme vzali z u\u010debnice o Istio. Jeden pod je ozna\u010den\u00fd ako v1 a druh\u00fd ako v2. Ako vid\u00edme, zatia\u013e v\u0161etko funguje skvele:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/c50387b7cfd12298cfab8123f13b2ca4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(Mimochodom, \u010d\u00edslo napravo je len po\u010d\u00edtadlo volan\u00ed pre ka\u017ed\u00fd pod.)<\/p>\n<p>Ale predsa potrebujeme nie\u010do in\u00e9, \u017ee? Dobre, pok\u00fasime sa v\u0161etko rozbi\u0165, \u00faplne sa nedot\u00fdkaj\u00fac zdrojov\u00e9ho k\u00f3du.<\/p>\n<h3>Vyvol\u00e1vame poruchy v mikroservise<\/h3>\n<p>\nNi\u017e\u0161ie je uveden\u00fd yaml s\u00fabor pre pravidlo smerovania Istio, ktor\u00e9 v polovici pr\u00edpadov sp\u00f4sob\u00ed zlyhanie (chybu) <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sk\/server\/dts-los-angeles\/\"   title=\"servera\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3597\">servera<\/a> 503):<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/8fb3ed7f16ed7fd1a57b27dfc3bfd2da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nUpozor\u0148ujeme, \u017ee jasne uv\u00e1dzame, \u017ee v polovici pr\u00edpadov by mala by\u0165 vr\u00e1ten\u00e1 chyba 503.<\/p>\n<p>A takto bude vyzera\u0165 sn\u00edmka obrazovky spustenej v cykle pr\u00edkazu curl po aktiv\u00e1cii tohto pravidla na simul\u00e1ciu por\u00fach. Ako vid\u00edme, polovica po\u017eiadaviek vracia chybu 503, bez oh\u013eadu na to, na ktor\u00fd pod \u2013 v1 alebo v2 \u2013 s\u00fa poslan\u00e9:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/3d9760cf5abc7480ad3aab826c274766.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNa obnovenie norm\u00e1lnej \u010dinnosti sta\u010d\u00ed odstr\u00e1ni\u0165 toto pravidlo, v na\u0161om pr\u00edpade pr\u00edkazom istioctl delete routerule recommendation-503 -n tutorial. Tu Tutorial je n\u00e1zov projektu Red Hat OpenShift, v ktorom pracuje n\u00e1\u0161 kurz o Istio.<\/p>\n<h3>Vykon\u00e1vame umel\u00e9 oneskorenia<\/h3>\n<p>\nUmel\u00e9 chyby 503 pom\u00e1haj\u00fa otestova\u0165 syst\u00e9m odolnosti vo\u010di poruch\u00e1m, ale schopnos\u0165 predpoveda\u0165 a spracov\u00e1va\u0165 oneskorenia by v\u00e1s mala e\u0161te viac ohromi\u0165. A konec koncov, oneskorenia sa v skuto\u010dnom \u017eivote vyskytuj\u00fa \u010dastej\u0161ie ako poruchy. Pomal\u00fd mikroservis je jedom, z ktor\u00e9ho trp\u00ed cel\u00fd syst\u00e9m. V\u010faka Istio je mo\u017en\u00e9 otestova\u0165 k\u00f3d zodpovedn\u00fd za spracovanie oneskoren\u00ed, ani\u017e by ste ho pritom menili. Najprv uk\u00e1\u017eeme, ako to urobi\u0165 v pr\u00edpade umele zaveden\u00fdch sie\u0165ov\u00fdch oneskoren\u00ed.<\/p>\n<p>Majte na pam\u00e4ti, \u017ee po takomto testovan\u00ed mo\u017eno budete musie\u0165 (alebo budete chcie\u0165) upravi\u0165 svoj k\u00f3d. Dobr\u00e1 spr\u00e1va je, \u017ee v tomto pr\u00edpade budete kona\u0165 proakt\u00edvne, nie reakt\u00edvne. Takto by mal vyzera\u0165 cyklus v\u00fdvoja: k\u00f3dovanie-testovanie-sp\u00e4tn\u00e1 v\u00e4zba-k\u00f3dovanie-testovanie\u2026<\/p>\n<p>Takto vyzer\u00e1 pravidlo, ktor\u00e9... Aj ke\u010f viete \u010do? Istio je tak\u00e9 jednoduch\u00e9 a tento yaml s\u00fabor je tak zrozumite\u013en\u00fd, \u017ee v\u0161etko v tomto pr\u00edklade hovor\u00ed samo za seba, len sa pozrite:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/e077e891cbccc66ebc4d4c7b67a0f1ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV polovici pr\u00edpadov nastane 7-sekundov\u00e9 oneskorenie. A to rozhodne nie je to ist\u00e9, ako keby sme do p\u00f4vodn\u00e9ho k\u00f3du vlo\u017eili pr\u00edkaz sleep, preto\u017ee Istio naozaj zadr\u017e\u00ed po\u017eiadavku na 7 sek\u00fand. Ke\u010f\u017ee Istio podporuje sledovanie Jaeger, toto oneskorenie je jasne vidite\u013en\u00e9 v u\u017e\u00edvate\u013eskom rozhran\u00ed Jaeger, ako je zn\u00e1zornen\u00e9 na obr\u00e1zku ni\u017e\u0161ie. V\u0161imnite si dlh\u00fd po\u017eiadavok v pravom hornom rohu grafu \u2013 jeho trvanie je 7.02 sekundy:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/97a7b33fb7e0455973c7fd1b2aefadf3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTento scen\u00e1r umo\u017e\u0148uje otestova\u0165 k\u00f3d v podmienkach sie\u0165ov\u00fdch oneskoren\u00ed. A je jasn\u00e9, \u017ee odstr\u00e1nen\u00edm tohto pravidla odstr\u00e1nime umel\u00e9 oneskorenie. Opakujeme, ale op\u00e4\u0165 sme to v\u0161etko urobili bez z\u00e1sahu do p\u00f4vodn\u00e9ho k\u00f3du.<\/p>\n<h3>Nevzd\u00e1va\u0165 sa a nevzda\u0165 sa<\/h3>\n<p>\n\u010eal\u0161ou u\u017eito\u010dnou funkciou pre chaos in\u017einierstvo v Istio s\u00fa opakovan\u00e9 pokusy o pripojenie k slu\u017ebe ur\u010dit\u00fd po\u010det kr\u00e1t. Zmyslom je, nevzd\u00e1va\u0165 sa pokusov, ke\u010f prv\u00fd po\u017eiadavok skon\u010d\u00ed chybou 503 \u2013 a mo\u017eno, \u017ee pri N-tom pokuse n\u00e1m to vyjde. Mo\u017eno slu\u017eba bola len na chv\u00ed\u013eu nedostupn\u00e1 z nejak\u00e9ho d\u00f4vodu. \u00c1no, t\u00fato pr\u00ed\u010dinu by sme mali presk\u00fama\u0165 a odstr\u00e1ni\u0165. Ale to je nesk\u00f4r, teraz sa pok\u00fasme urobi\u0165 tak, aby syst\u00e9m na\u010falej fungoval.<\/p>\n<p>Tak\u017ee chceme, aby slu\u017eba ob\u010das vracala chybu 503, a Istio sa po tom pok\u00fasi znova pripoji\u0165. A tu jasne potrebujeme sp\u00f4sob, ako generova\u0165 chybu 503, bez z\u00e1sahu do samotn\u00e9ho k\u00f3du...<\/p>\n<p>\u010cakajte, po\u010dkajte! Ve\u010f my sme toto pr\u00e1ve robili.<\/p>\n<p>Tento s\u00fabor zabezpe\u010d\u00ed, \u017ee slu\u017eba recommendation-v2 bude v polovici pr\u00edpadov vraca\u0165 chybu 503:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/f446528f9c968e40cc2cf318cf0acde9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJe zrejm\u00e9, \u017ee \u010das\u0165 po\u017eiadaviek sa skon\u010d\u00ed ne\u00faspechom:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/f998513746604beda241b8d6de2ed727.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA teraz aktivujme funkciu Retry v Istio:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/32e210b6ecbf4c1ecf121ee73e64ba35.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nToto pravidlo smerovania rob\u00ed tri opakovania s dvojsekundov\u00fdm intervalom a malo by skr\u00e1ti\u0165 (a v ide\u00e1lnom pr\u00edpade v\u00f4bec odstr\u00e1ni\u0165) chyby 503:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/7f9711c52949072b823399e59141cb64.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nZhrnieme: podarilo sa n\u00e1m, \u017ee Istio, po prv\u00e9, generuje chybu 503 pre polovicu po\u017eiadaviek. A po druh\u00e9, to ist\u00e9 Istio vykon\u00e1va tri pokusy o op\u00e4tovn\u00e9 pripojenie k slu\u017ebe pri vzniku chyby 503. V\u00fdsledkom je, \u017ee v\u0161etko funguje jednoducho skvele. Takto sme pomocou funkcie Retry splnili na\u0161e s\u013eubovanie nevzd\u00e1va\u0165 sa a nevzda\u0165 sa.<\/p>\n<p>A \u00e1no, op\u00e4\u0165 sme to urobili, \u00faplne bez z\u00e1sahu do k\u00f3du. V\u0161etko, \u010do sme potrebovali, s\u00fa dve pravidl\u00e1 smerovania Istio:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/c21a1cfd2d78ae4145a57d1cefcc6c59.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Ako nezklama\u0165 pou\u017e\u00edvate\u013ea alebo sedem jedn\u00e9ho ne\u010dak\u00e1<\/h3>\n<p>\nA teraz prevr\u00e1\u0165me situ\u00e1ciu naruby a pozrime sa na scen\u00e1r, ke\u010f neustupova\u0165 a nevzd\u00e1va\u0165 sa m\u00e1 zmysel iba na vopred stanoven\u00fd \u010das. Potom je potrebn\u00e9 jednoducho presta\u0165 sa sna\u017ei\u0165 spracova\u0165 po\u017eiadavku, aby sme nesp\u00f4sobovali, \u017ee v\u0161etci \u010dakaj\u00fa na jeden spoma\u013euj\u00faci servis. In\u00fdmi slovami, nebudeme chr\u00e1ni\u0165 straten\u00fa poz\u00edciu, ale ust\u00fapime na z\u00e1lo\u017en\u00fa l\u00edniu, aby sme neohrozili pou\u017e\u00edvate\u013ea str\u00e1nky a nesp\u00f4sobili mu tr\u00e1penie v nevedomosti.<\/p>\n<p>V Istio m\u00f4\u017eete nastavi\u0165 \u010dasov\u00fd limit vykonania po\u017eiadavky. Ak slu\u017eba prekro\u010d\u00ed tento \u010dasov\u00fd limit, vr\u00e1ti sa chyba 504 (Gateway Timeout) \u2013 op\u00e4\u0165 v\u0161etko sa to rob\u00ed cez konfigur\u00e1ciu Istio. Budeme musie\u0165 prida\u0165 do zdrojov\u00e9ho k\u00f3du slu\u017eby pr\u00edkaz sleep (a potom samozrejme vykona\u0165 rebuild a redeploy), aby sme simulovali pomal\u00fa pr\u00e1cu slu\u017eby. \u017dia\u013e, inak sa to ned\u00e1.<\/p>\n<p>Tak sme vlo\u017eili trojsekundov\u00fd sleep do k\u00f3du slu\u017eby recommendation v2, znovu sme zostavili pr\u00edslu\u0161n\u00fd obraz a vykonali redeploy kontajnera, a teraz prid\u00e1me \u010dasov\u00fd limit pomocou nasleduj\u00faceho pravidla smerovania Istio:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/c03fc452b98dd875a8a7d3ac561893ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNa obr\u00e1zku vy\u0161\u0161ie vid\u00edte, \u017ee prest\u00e1vame sa pok\u00fa\u0161a\u0165 skontaktova\u0165 so slu\u017ebou recommendation, ak nedostaneme odpove\u010f v priebehu jednej sekundy, teda e\u0161te predt\u00fdm, ako nastane chyba 504. Po aplikovan\u00ed tohto pravidla smerovania (a pridan\u00ed trojsekundov\u00e9ho sleepu do k\u00f3du slu\u017eby recommendation:v2) dostaneme toto:<\/p>\n<p><img decoding=\"async\" alt=\"Sledovanie a monitoring v Istio: mikroslu\u017eby a princ\u00edp neur\u010ditosti\" src=\"\/wp-content\/uploads\/2020\/01\/ed6e80052c67254718b1fde2bd873e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nOp\u00e4\u0165 sa opakujeme, ale \u010dasov\u00fd limit je mo\u017en\u00e9 nastavi\u0165, ani\u017e by sme sa dotkli zdrojov\u00e9ho k\u00f3du. A dodato\u010dn\u00fd bonus je, \u017ee teraz m\u00f4\u017eete modifikova\u0165 svoj k\u00f3d tak, aby reagoval na \u010dasov\u00fd limit, a jednoducho otestova\u0165 tieto \u00fapravy pomocou Istio.<\/p>\n<h3>A teraz v\u0161etko dohromady<\/h3>\n<p>\nPrida\u0165 trochu chaosu pomocou Istio je v\u00fdborn\u00fd sp\u00f4sob, ako otestova\u0165 v\u00e1\u0161 k\u00f3d a spo\u013eahlivos\u0165 va\u0161ej s\u00fastavy ako celku. \u0160abl\u00f3ny fallback, bulkhead a circuit breaker, mechanizmy na vytv\u00e1ranie umel\u00fdch por\u00fach a oneskoren\u00ed, ako aj opakovan\u00e9 volania a \u010dasov\u00e9 limity bud\u00fa ve\u013emi u\u017eito\u010dn\u00e9 pri vytv\u00e1ran\u00ed odoln\u00fdch cloudov\u00fdch syst\u00e9mov. V kombin\u00e1cii s Kubernetes a Red Hat OpenShift v\u00e1m tieto n\u00e1stroje pom\u00f4\u017eu s d\u00f4verou sa postavi\u0165 do bud\u00facnosti.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/485136\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0410 \u0435\u0441\u043b\u0438 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0435\u0441\u0442\u044c \u2013 \u0437\u043d\u0430\u0447\u0438\u0442 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Red Hat OpenShift (\u0438 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Kubernetes), \u0442\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043e\u0444\u0442\u0443 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u043f\u043e\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a [&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-55700","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\" \/>\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\/sk\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432 Istio: \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti\" \/>\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-01-25T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:50+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\udd47Tracovanie a monitorovanie v Istio: mikroservisy a princ\u00edp neur\u010ditosti | ProHoster","description":"Princ\u00edp neur\u010ditosti Heisenberga hovor\u00ed, \u017ee nie je mo\u017en\u00e9 s\u00fa\u010dasne zmera\u0165 polohu objektu a jeho r\u00fdchlos\u0165. Ak sa objekt pohybuje, nem\u00e1 \u017eiadnu polohu.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432 Istio: \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","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-01-25T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55700","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 19:38:32","updated":"2026-02-22 15:29:16","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=55700"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55700\/revisions"}],"predecessor-version":[{"id":162124,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55700\/revisions\/162124"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=55700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=55700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=55700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}