{"id":56218,"date":"2020-02-07T00:00:00","date_gmt":"2020-02-06T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/dark-launch-v-istio-sekretnye-sluzhby"},"modified":"2020-02-18T14:04:26","modified_gmt":"2020-02-18T11:04:26","slug":"dark-launch-v-istio-sekretnye-sluzhby","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby","title":{"rendered":"Dark Launch w Istio: tajne us\u0142ugi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\"Niebezpiecze\u0144stwo to moje drugie imi\u0119\" \u2013 mawia\u0142 Austin Powers, cz\u0142owiek-zagadka o mi\u0119dzynarodowej renomie. Lecz to, co jest cenione przez superagent\u00f3w i s\u0142u\u017cby, zupe\u0142nie si\u0119 nie nadaje do s\u0142u\u017cb komputerowych, gdzie nuda jest znacznie lepsza od niebezpiecze\u0144stw. <\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/c29a2cabb6fca30d622401987f3e488a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA Istio wsp\u00f3lnie z OpenShift i Kubernetes sprawiaj\u0105, \u017ce wdro\u017cenie mikrous\u0142ug staje si\u0119 prawdziwie nudnym i przewidywalnym procesem \u2013 i to jest wspania\u0142e. O tym i wielu innych rzeczach porozmawiamy w czwartym i ostatnim po\u015bcie z serii po\u015bwi\u0119conej Istio. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Kiedy nuda \u2013 to dobrze<\/h3>\n<p>\nW naszym przypadku nuda pojawia si\u0119 tylko w ko\u0144cowej fazie, gdy pozostaje jedynie siedzie\u0107 i obserwowa\u0107 proces. Ale aby do tego dosz\u0142o, trzeba wszystko wcze\u015bniej skonfigurowa\u0107, a tutaj czeka na Was wiele interesuj\u0105cych rzeczy.<\/p>\n<p>Podczas wdra\u017cania nowej wersji oprogramowania warto rozwa\u017cy\u0107 wszystkie opcje minimalizowania ryzyka. Praca w trybie r\u00f3wnoleg\u0142ym to bardzo silny i sprawdzony spos\u00f3b na testowanie, a Istio pozwala korzysta\u0107 z \"tajnej s\u0142u\u017cby\" (ukrytej przed obcymi wersji Waszej mikrous\u0142ugi) bez ingerencji w dzia\u0142anie systemu produkcyjnego. Istnieje nawet specjalny termin \u2013 \"Tajny start\" (Dark Launch), kt\u00f3ry z kolei uruchamia funkcja o co najmniej szpiegowskiej nazwie \"lustrzane odbicie ruchu\".<\/p>\n<p>Zwr\u00f3\u0107 uwag\u0119, \u017ce w pierwszym zdaniu poprzedniego akapitu u\u017cyto terminu \u201ewdro\u017cenie\u201d (deploy), a nie \u201euruchomienie\u201d (release). Rzeczywi\u015bcie musisz mie\u0107 mo\u017cliwo\u015b\u0107 wdra\u017cania \u2013 a oczywi\u015bcie tak\u017ce korzystania \u2013 z mikrous\u0142ugi tak cz\u0119sto, jak tylko chcesz. Us\u0142uga ta powinna by\u0107 w stanie przyjmowa\u0107 i przetwarza\u0107 ruch, zwraca\u0107 wyniki oraz rejestrowa\u0107 w logach i by\u0107 monitorowana. Ale sama ta us\u0142uga wcale nie musi by\u0107 wypuszczona na produkcj\u0119. Wdro\u017cenie i wydanie oprogramowania to nie zawsze to samo. Wdro\u017cenie mo\u017cesz realizowa\u0107 zawsze, gdy chcesz, podczas gdy wydanie \u2013 tylko wtedy, gdy b\u0119dziesz ca\u0142kowicie gotowy.<\/p>\n<h3>Organizacja nudy \u2013 to interesuj\u0105ce<\/h3>\n<p>\nZobaczcie nast\u0119pne regu\u0142y routingu Istio, kt\u00f3re kieruj\u0105 wszystkie \u017c\u0105dania HTTP do mikrous\u0142ugi recommendation v1 (wszystkie przyk\u0142ady zaczerpni\u0119te z <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial#mirroring-traffic-dark-launch\">repozytorium Istio Tutorial GitHub<\/a><\/noindex>), jednocze\u015bnie lustrzanie je na mikrous\u0142ug\u0119 recommendation v2:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/7139950ed58f23ceb43546ec932c6b92.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nZwr\u00f3\u0107cie uwag\u0119 na etykiet\u0119 <code>mirror:<\/code> na dole zrzutu ekranu \u2013 to ona definiuje lustrzane odbicie ruchu. Tak, to takie proste!<\/p>\n<p>Wynikiem dzia\u0142ania tej zasady jest to, \u017ce tw\u00f3j system produkcyjny (v1) wci\u0105\u017c b\u0119dzie przetwarza\u0142 nadchodz\u0105ce \u017c\u0105dania, ale same \u017c\u0105dania b\u0119d\u0105 asynchronicznie lustrzane na v2, tzn. tam b\u0119d\u0105 wysy\u0142ane ich pe\u0142ne duplikaty. Dzi\u0119ki temu b\u0119dziesz m\u00f3g\u0142 przetestowa\u0107 dzia\u0142anie v2 w rzeczywistych warunkach \u2013 na prawdziwych danych i ruchu, nie ingeruj\u0105c w dzia\u0142anie systemu produkcyjnego. Czy zamienia to organizacj\u0119 testowania w nudny proces? Tak, zdecydowanie. Ale jest to przeprowadzane w interesuj\u0105cy spos\u00f3b.<\/p>\n<h3>Dodajmy dramatyzmu<\/h3>\n<p>\nZwr\u00f3\u0107 uwag\u0119, \u017ce w kodzie v2 trzeba przewidzie\u0107 sytuacje, w kt\u00f3rych nadchodz\u0105ce \u017c\u0105dania mog\u0105 prowadzi\u0107 do zmiany danych. Same \u017c\u0105dania s\u0105 lustrzane \u0142atwo i przezroczysto, ale to jak je obs\u0142u\u017cysz w te\u015bcie pozostaje w twoich r\u0119kach \u2013 a to ju\u017c jest troch\u0119 ekscytuj\u0105ce.<\/p>\n<h3>Powt\u00f3rzmy wa\u017cny punkt <\/h3>\n<p>\nTajny start z lustrzeniem ruchu (Dark Launch\/Request Mirroring) mo\u017cna realizowa\u0107, nie wp\u0142ywaj\u0105c na kod.<\/p>\n<h3>Karma do przemy\u015blenia<\/h3>\n<p>\nA co je\u015bli miejsce lustrzenia \u017c\u0105da\u0144 rozdzieli\u0107 cz\u0119\u015b\u0107 z nich nie na v1, a na v2? Na przyk\u0142ad jeden procent wszystkich \u017c\u0105da\u0144 lub tylko \u017c\u0105dania od okre\u015blonej grupy u\u017cytkownik\u00f3w. A potem, patrz\u0105c na to, jak dzia\u0142a v2, stopniowo przekazywa\u0107 wszystkie \u017c\u0105dania na now\u0105 wersj\u0119. Lub przeciwnie, wr\u00f3ci\u0107 wszystko na v1, je\u015bli z v2 co\u015b p\u00f3jdzie nie tak. Wydaje si\u0119, \u017ce nazywa si\u0119 to Canary Deployment (\"kanarkowe wdro\u017cenie\" \u2013 termin <noindex><a rel=\"nofollow\" href=\"http:\/\/miningwiki.ru\/wiki\/%D0%9A%D0%B0%D0%BD%D0%B0%D1%80%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B2_%D1%88%D0%B0%D1%85%D1%82%D0%B5\">nawiasem m\u00f3wi\u0105c, odnosi si\u0119 do g\u00f3rnictwa<\/a><\/noindex>, a gdyby mia\u0142 rosyjskie pochodzenie, prawdopodobnie zawiera\u0142by odniesienie do <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=7yGrgwE_k4I\">kot\u00f3w<\/a><\/noindex>), i teraz przyjrzymy si\u0119 temu bli\u017cej.<\/p>\n<h2>Canary Deployment w Istio: u\u0142atwiamy wprowadzenie do eksploatacji<\/h2>\n<p><\/p>\n<h3>Ostro\u017cnie i stopniowo<\/h3>\n<p>\nIstota modelu wdro\u017cenia Canary Deployment jest ekstremalnie prosta: podczas uruchamiania nowej wersji oprogramowania (w naszym przypadku \u2013 mikroserwisu) najpierw dajesz dost\u0119p ma\u0142ej grupie u\u017cytkownik\u00f3w. Je\u015bli wszystko przebiega pomy\u015blnie, powoli zwi\u0119kszasz t\u0119 grup\u0119, a\u017c nowa wersja zacznie si\u0119 psu\u0107, lub \u2013 je\u015bli tak si\u0119 nie stanie \u2013 ostatecznie przekazujesz j\u0105 wszystkim u\u017cytkownikom. Wprowadzaj\u0105c now\u0105 wersj\u0119 w przemy\u015blany i stopniowy spos\u00f3b oraz kontroluj\u0105c prze\u0142\u0105czanie u\u017cytkownik\u00f3w, mo\u017cna zminimalizowa\u0107 ryzyko i maksymalizowa\u0107 opinie zwrotne.<\/p>\n<p>Oczywi\u015bcie, Istio u\u0142atwia wdro\u017cenia Canary, oferuj\u0105c kilka dobrych opcji dla inteligentnego routingu zapyta\u0144. I tak, wszystko to mo\u017cna zrobi\u0107 bez modyfikowania twojego kodu \u017ar\u00f3d\u0142owego.<\/p>\n<h3>Filtrujemy przegl\u0105dark\u0119<\/h3>\n<p>\nJednym z najprostszych kryteri\u00f3w routingu jest przekierowanie w zale\u017cno\u015bci od przegl\u0105darki. Za\u0142\u00f3\u017cmy, \u017ce chcesz, aby na v2 kierowane by\u0142y tylko zapytania z przegl\u0105darek Safari. Oto jak to zrobi\u0107:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/3d9b763ec32c250ba88c8e54f701c602.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nZastosujmy t\u0119 zasad\u0119 routingu, a nast\u0119pnie poleceniem <code>curl<\/code> b\u0119dziemy w p\u0119tli symulowa\u0107 rzeczywiste zapytania do mikroserwisu. Jak wida\u0107 na zrzucie ekranu, wszystkie one kierowane s\u0105 na v1:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/cf270c01680b6bd19045bca239bf89c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA gdzie jest ruch na v2? Poniewa\u017c w naszym przyk\u0142adzie wszystkie zapytania pochodzi\u0142y tylko z wiersza polece\u0144, po prostu go nie ma. Ale zwr\u00f3\u0107 uwag\u0119 na dolne linie na powy\u017cszym zrzucie ekranu: to odpowied\u017a na zapytanie z przegl\u0105darki Safari, kt\u00f3ra z kolei zwr\u00f3ci\u0142a to:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/dc17ede0c2aac97284d27a2a77ce0651.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Nieograniczona w\u0142adza<\/h3>\n<p>\nJu\u017c pisali\u015bmy, \u017ce wyra\u017cenia regularne daj\u0105 bardzo pot\u0119\u017cne mo\u017cliwo\u015bci dla routingu zapyta\u0144. Zobacz przyk\u0142ad poni\u017cej (my\u015blimy, \u017ce sam zrozumiesz, co robi):<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/edf8d60651eef50af3e83aae67fde1db.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTeraz prawdopodobnie ju\u017c wiesz, na co sta\u0107 wyra\u017cenia regularne.<\/p>\n<h3>Dzia\u0142aj m\u0105drze<\/h3>\n<p>\nInteligentny routing, w szczeg\u00f3lno\u015bci przetwarzanie nag\u0142\u00f3wk\u00f3w pakiet\u00f3w za pomoc\u0105 wyra\u017ce\u0144 regularnych, pozwala zarz\u0105dza\u0107 ruchem tak, jak chcesz. I znacznie u\u0142atwia wprowadzenie nowego kodu \u2013 jest to proste, nie wymaga zmiany samego kodu, a w razie potrzeby wszystko mo\u017cna szybko przywr\u00f3ci\u0107 do stanu poprzedniego.<\/p>\n<h3>Zainteresowany?<\/h3>\n<p>\nCzy masz ochot\u0119 poeksperymentowa\u0107 z Istio, Kubernetes i OpenShift na swoim komputerze? Zesp\u00f3\u0142 <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/about\/\">Red Hat Developer Team<\/a><\/noindex> przygotowa\u0142 doskona\u0142y <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">podr\u0119cznik<\/a><\/noindex> na ten temat i udost\u0119pni\u0142 wszystkie towarzysz\u0105ce pliki. Wi\u0119c naprz\u00f3d, nie oszcz\u0119dzaj na sobie.<br \/>\n\u2003<\/p>\n<h2>Istio Egress: wyj\u015bcie przez sklep z pami\u0105tkami<\/h2>\n<p>\nStosuj\u0105c Istio razem z Red Hat OpenShift i Kubernetes, mo\u017cesz znacznie u\u0142atwi\u0107 sobie \u017cycie z mikroserwisami. Siatka us\u0142ug Istio jest schowana w pod\u2019ach Kubernetes, a tw\u00f3j kod dzia\u0142a (g\u0142\u00f3wnie) w izolacji. Wydajno\u015b\u0107, \u0142atwo\u015b\u0107 modyfikacji, \u015bledzenie i inne \u2013 wszystko to mo\u017cna \u0142atwo wykorzysta\u0107 dzi\u0119ki zastosowaniu kontener\u00f3w sidecar. Ale co zrobi\u0107, je\u015bli tw\u00f3j mikroserwis musi komunikowa\u0107 si\u0119 z innymi us\u0142ugami, kt\u00f3re znajduj\u0105 si\u0119 poza twoim systemem OpenShift-Kubernetes?<\/p>\n<p>Tutaj z pomoc\u0105 przychodzi Istio Egress. M\u00f3wi\u0105c kr\u00f3tko, pozwala on na dost\u0119p do zasob\u00f3w (czytaj: \u201eus\u0142ug\u201d), kt\u00f3re nie znajduj\u0105 si\u0119 w systemie pod\u00f3w Kubernetes. Je\u015bli nie dokonasz dodatkowej konfiguracji, ruch w \u015brodowisku Istio Egress jest kierowany tylko wewn\u0105trz klastra pod\u00f3w oraz mi\u0119dzy takimi klastrami na podstawie wewn\u0119trznych tabel IP. Tego rodzaju izolacja dzia\u0142a doskonale, dop\u00f3ki nie potrzebujesz dost\u0119pu do us\u0142ug spoza klastra.<\/p>\n<p>Egress pozwala omin\u0105\u0107 wspomniane powy\u017cej tabele IP, zar\u00f3wno na podstawie regu\u0142 Egress, jak i dla zakresu adres\u00f3w IP.<\/p>\n<p>Za\u0142\u00f3\u017cmy, \u017ce mamy program Java, kt\u00f3ry wykonuje zapytanie GET do httpbin.org\/headers.<\/p>\n<p>(httpbin.org to po prostu wygodny zas\u00f3b do testowania wyj\u015bciowych zapyta\u0144 us\u0142ugowych.)<\/p>\n<p>Je\u015bli wpiszesz w wierszu polece\u0144 <code>curl http:\/\/httpbin.org\/headers<\/code>, zobaczymy nast\u0119puj\u0105ce:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/df0a2e1be00da0077bdb94a4d9fa091c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMo\u017cna te\u017c otworzy\u0107 ten sam adres w przegl\u0105darce:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/4fe04b4e888106d98b8f71cccf6ab430.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJak widzimy, us\u0142uga tam umieszczona po prostu zwraca przes\u0142ane jej nag\u0142\u00f3wki.<\/p>\n<h3>Zamieniamy w locie<\/h3>\n<p>\nTeraz we\u017amy kod Java tej us\u0142ugi zewn\u0119trznej wzgl\u0119dem naszego systemu i uruchomimy go u siebie, gdzie, przypomnijmy, dzia\u0142a Istio. (Mo\u017cesz zrobi\u0107 to samodzielnie, korzystaj\u0105c z <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial#egress\">naszego przewodnika po Istio<\/a><\/noindex>.) Po zbudowaniu odpowiedniego obrazu i uruchomieniu go na platformie OpenShift, wywo\u0142amy t\u0119 us\u0142ug\u0119 komend\u0105 <code>curl egresshttpbin-istioegress.$(minishift ip).nip.io<\/code>, po czym na ekranie zobaczymy to:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/ed71b5ba2e62415d1bbe3b54bba71eb8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nO co chodzi, co si\u0119 sta\u0142o? Dopiero co to dzia\u0142a\u0142o. Co to znaczy Not Found? Przecie\u017c w\u0142a\u015bnie zrobili\u015bmy to dla niego. <code>curl<\/code>.<\/p>\n<h3>Rozszerzamy tabele IP na ca\u0142y internet<\/h3>\n<p>\nWinimy (lub dzi\u0119kujemy) za to Istio. Ot\u00f3\u017c Istio to po prostu kontenery sidecar, kt\u00f3re odpowiadaj\u0105 za wykrywanie i kierowanie (i wiele innych rzeczy, o kt\u00f3rych m\u00f3wili\u015bmy wcze\u015bniej). Z tego powodu tabele IP wiedz\u0105 tylko o tym, co znajduje si\u0119 wewn\u0105trz twojego systemu klastr\u00f3w. A httpbin.org znajduje si\u0119 na zewn\u0105trz i dlatego jest niedost\u0119pne. I tu z pomoc\u0105 przychodzi Istio Egress \u2013 bez najmniejszych zmian w twoim kodzie \u017ar\u00f3d\u0142owym.<\/p>\n<p>Podana poni\u017cej regu\u0142a Egress zmusza Istio do wyszukiwania (je\u015bli to konieczne, to i w ca\u0142ej sieci) potrzebnej us\u0142ugi, w tym przypadku httpbin.org. Jak wida\u0107 z tego pliku (egress_httpbin.yml), funkcjonalno\u015b\u0107 jest tutaj do\u015b\u0107 prosta:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/47c65b06769d077a46e456f802b32a55.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPozostaje tylko zastosowa\u0107 t\u0119 regu\u0142\u0119:<\/p>\n<pre><code class=\"plaintext\">istioctl create -f egress_httpbin.yml -n istioegress\n<\/code><\/pre>\n<p>\nAby wy\u015bwietli\u0107 regu\u0142y Egress, mo\u017cna u\u017cy\u0107 komendy <code>istioctl get egressrules<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/dbbd11def744eacd98ce4638ea4dd30a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI w ko\u0144cu ponownie uruchamiamy polecenie <i>curl<\/i> \u2013 i widzimy, \u017ce wszystko dzia\u0142a:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch w Istio: tajne us\u0142ugi\" src=\"\/wp-content\/uploads\/2020\/02\/3ab69421969e4fdd35a4a712d22df785.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>My\u015blimy otwarcie<\/h3>\n<p>\nJak wida\u0107, Istio umo\u017cliwia interakcj\u0119 z zewn\u0119trznym \u015bwiatem. Innymi s\u0142owy, nadal mo\u017cesz tworzy\u0107 us\u0142ugi OpenShift i zarz\u0105dza\u0107 nimi za po\u015brednictwem Kubernetes, trzymaj\u0105c wszystko w podach, kt\u00f3re skaluj\u0105 si\u0119 w g\u00f3r\u0119 i w d\u00f3\u0142 w razie potrzeby. A jednocze\u015bnie mo\u017cesz swobodnie korzysta\u0107 z us\u0142ug zewn\u0119trznych w stosunku do twojego \u015brodowiska. I tak, jeszcze raz powt\u00f3rzymy, \u017ce wszystko to mo\u017cna robi\u0107, nie zmieniaj\u0105c swojego kodu.<\/p>\n<p>To by\u0142 ostatni post z serii o Istio. Pozosta\u0144cie z nami \u2013 czeka nas wiele interesuj\u0105cych rzeczy!<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/487214\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430. \u041d\u043e \u0442\u043e, \u0447\u0442\u043e \u0432 \u043f\u043e\u0447\u0435\u0442\u0435 \u0443 \u0441\u0443\u043f\u0435\u0440\u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0438 \u0441\u043f\u0435\u0446\u0441\u043b\u0443\u0436\u0431, \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043b\u0443\u0436\u0431 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445, \u0433\u0434\u0435 \u0441\u043a\u0443\u043a\u043e\u0442\u0438\u0449\u0430 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0435\u0439. \u0418 Istio \u0432\u043c\u0435\u0441\u0442\u0435 OpenShift \u0438 Kubernetes \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 \u0434\u0435\u043b\u043e \u043f\u043e-\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c\u0443 \u0441\u043a\u0443\u0447\u043d\u043e\u0435 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u2013 \u0438 \u044d\u0442\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e. \u041e\u0431 \u044d\u0442\u043e\u043c \u0438 \u043e [&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-56218","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=\"description\" content=\"\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430.\" \/>\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\/pl\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\udd47Dark Launch \u0432 Istio: \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby\" \/>\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-02-06T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:26+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\udd47Dark Launch w Istio: tajne us\u0142ugi | ProHoster","description":"\u201eNiebezpiecze\u0144stwo to moje drugie imi\u0119\u201d \u2013 m\u00f3wi\u0142 Austin Powers, cz\u0142owiek-zagadka o mi\u0119dzynarodowej skali.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\udd47Dark Launch \u0432 Istio: \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b | ProHoster","og:description":"\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby","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-02-06T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"56218","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:28:24","updated":"2022-10-05 04:55:29","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/56218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=56218"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/56218\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=56218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=56218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=56218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}