{"id":36484,"date":"2019-10-31T22:11:54","date_gmt":"2019-10-31T19:11:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises\/"},"modified":"2019-10-31T22:11:54","modified_gmt":"2019-10-31T19:11:54","slug":"kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises","title":{"rendered":"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/a30bdada22eff611ec47864ef988e1ed.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>Przyp. t\u0142um.<\/b>: Dailymotion \u2014 jeden z najwi\u0119kszych na \u015bwiecie serwis\u00f3w hostingu wideo, a przez to znacz\u0105cy u\u017cytkownik Kubernetes. W tym materiale architekt systemowy David Donchez dzieli si\u0119 wynikami stworzenia produkcyjnej platformy firmy opartej na K8s, kt\u00f3ra zaczyna\u0142a jako instalacja chmurowa w GKE i zako\u0144czy\u0142a si\u0119 jako rozwi\u0105zanie hybrydowe, co pozwoli\u0142o osi\u0105gn\u0105\u0107 lepszy czas reakcji i zaoszcz\u0119dzi\u0107 na kosztach infrastruktury.<\/i><\/p>\n<p>Podejmuj\u0105c decyzj\u0119 o przebudowie g\u0142\u00f3wnego API <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dailymotion.com\/\">Dailymotion<\/a><\/noindex> trzy lata temu, chcieli\u015bmy opracowa\u0107 bardziej efektywny spos\u00f3b umieszczania aplikacji i u\u0142atwi\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/dailymotion\/deploying-apps-on-multiple-kubernetes-clusters-with-helm-19ee2b06179e\">procesy w zakresie rozwoju i produkcji<\/a><\/noindex>. W tym celu postanowili\u015bmy wykorzysta\u0107 platform\u0119 orkiestracji kontener\u00f3w i naturalnie wybrali\u015bmy Kubernetes.<\/p>\n<p>Dlaczego warto tworzy\u0107 w\u0142asn\u0105 platform\u0119 opart\u0105 na Kubernetes?<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Produkcja API na poziomie produkcyjnym w najkr\u00f3tszym mo\u017cliwym czasie z pomoc\u0105 Google Cloud<\/h2>\n<p><\/p>\n<blockquote><p>Lato 2016 roku<\/p><\/blockquote>\n<p>\nTrzy lata temu, tu\u017c po zakupie Dailymotion przez <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vivendi.com\/\">Vivendi<\/a><\/noindex>, nasze zespo\u0142y in\u017cynieryjne skupi\u0142y si\u0119 na jednym globalnym celu: stworzy\u0107 zupe\u0142nie nowy produkt Dailymotion.<\/p>\n<p>Na podstawie analizy kontener\u00f3w, rozwi\u0105za\u0144 do orkiestracji oraz naszego do\u015bwiadczenia, upewnili\u015bmy si\u0119, \u017ce Kubernetes to w\u0142a\u015bciwy wyb\u00f3r. Cz\u0119\u015b\u0107 programist\u00f3w ju\u017c mia\u0142a poj\u0119cie o podstawowych koncepcjach i wiedzia\u0142a, jak go u\u017cywa\u0107, co by\u0142o ogromnym atutem dla transformacji infrastruktury.<\/p>\n<p>Z punktu widzenia infrastruktury potrzebny by\u0142 mocny i elastyczny system do uruchamiania nowych typ\u00f3w aplikacji chmurowych (cloud-native). Wolali\u015bmy pozosta\u0107 w chmurze na pocz\u0105tku naszej podr\u00f3\u017cy, aby spokojnie zbudowa\u0107 maksymalnie niezawodn\u0105 lokaln\u0105 platform\u0119. Ostatecznie zdecydowali\u015bmy si\u0119 wdra\u017ca\u0107 nasze aplikacje za pomoc\u0105 Google Kubernetes Engine, wiedz\u0105c, \u017ce pr\u0119dzej czy p\u00f3\u017aniej przejdziemy na w\u0142asne centra danych i zastosujemy strategi\u0119 hybrydow\u0105.<\/p>\n<h3>Dlaczego wybrali\u015bmy GKE?<\/h3>\n<p>\nG\u0142\u00f3wnie na podstawie decyzji technicznych. Poza tym konieczne by\u0142o szybkie dostarczenie infrastruktury odpowiadaj\u0105cej potrzebom biznesowym firmy. Mieli\u015bmy kilka wymaga\u0144 dotycz\u0105cych umieszczania aplikacji, takich jak rozproszenie geograficzne, skalowalno\u015b\u0107 i odporno\u015b\u0107 na awarie.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/87b01007260066aa7814fb5dacca8707.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Klastery GKE w Dailymotion<\/i><\/p>\n<p>Poniewa\u017c Dailymotion to platforma wideo dost\u0119pna na ca\u0142ym \u015bwiecie, bardzo chcia\u0142y\u015bmy poprawi\u0107 jako\u015b\u0107 us\u0142ugi, skracaj\u0105c czas oczekiwania <i>latencji<\/i>. Wcze\u015bniej <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.dailymotion.com\/\">nasze API<\/a><\/noindex> by\u0142 dost\u0119pny tylko w Pary\u017cu, co by\u0142o nieoptymalne. Chcieli\u015bmy mie\u0107 mo\u017cliwo\u015b\u0107 uruchamiania aplikacji nie tylko w Europie, ale tak\u017ce w Azji i USA.<\/p>\n<p>Ta wra\u017cliwo\u015b\u0107 na op\u00f3\u017anienia oznacza\u0142a, \u017ce trzeba b\u0119dzie powa\u017cnie pracowa\u0107 nad architektur\u0105 sieci platformy. Podczas gdy wi\u0119kszo\u015b\u0107 us\u0142ug chmurowych zmusza\u0142a do tworzenia w\u0142asnej sieci w ka\u017cdym regionie, a nast\u0119pnie \u0142\u0105czenia ich przez VPN lub zarz\u0105dzan\u0105 us\u0142ug\u0119, Google Cloud umo\u017cliwia\u0142 stworzenie w pe\u0142ni routowalnej jednorodnej sieci obejmuj\u0105cej wszystkie regiony Google. To du\u017cy plus pod wzgl\u0119dem eksploatacji i wydajno\u015bci systemu.<\/p>\n<p>Ponadto z zadaniami \u015bwietnie radz\u0105 sobie us\u0142ugi sieciowe i balancerzy obci\u0105\u017cenia od Google Cloud. Umo\u017cliwiaj\u0105 one po prostu korzystanie z dowolnych publicznych adres\u00f3w IP z ka\u017cdego regionu, a wspania\u0142y protok\u00f3\u0142 BGP zajmie si\u0119 wszystkim innym (tzn. przekieruje u\u017cytkownik\u00f3w do najbli\u017cszego klastra). Oczywi\u015bcie w przypadku awarii ruch automatycznie przejdzie do innego regionu bez jakiejkolwiek interwencji cz\u0142owieka.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/fa6a14cf56fbf16fb6ca5da837dbd915.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Monitoring balancowania obci\u0105\u017cenia w Google<\/i><\/p>\n<p>Nasza platforma tak\u017ce aktywnie wykorzystuje procesory graficzne. Google Cloud pozwala na ich bardzo efektywne wykorzystanie bezpo\u015brednio w klastrach Kubernetes.<\/p>\n<p>W\u00f3wczas zesp\u00f3\u0142 infrastruktury g\u0142\u00f3wnie koncentrowa\u0142 si\u0119 na starym stosie wdro\u017conym na serwerach fizycznych. Dlatego wykorzystanie zarz\u0105dzanej us\u0142ugi (w tym komponent\u00f3w master Kubernetes) odpowiada\u0142o naszym wymaganiom i pozwala\u0142o na przeszkolenie zespo\u0142\u00f3w w pracy z lokalnymi klastrami.<\/p>\n<p>W rezultacie mogli\u015bmy zacz\u0105\u0107 przyjmowa\u0107 produkcyjny ruch na infrastrukturze Google Cloud zaledwie 6 miesi\u0119cy po rozpocz\u0119ciu prac.<\/p>\n<p>Jednak mimo wielu zalet, korzystanie z dostawcy chmurowego wi\u0105\u017ce si\u0119 z pewnymi kosztami, kt\u00f3re mog\u0105 rosn\u0105\u0107 w zale\u017cno\u015bci od obci\u0105\u017cenia. Dlatego dok\u0142adnie analizowali\u015bmy ka\u017cd\u0105 u\u017cywan\u0105 zarz\u0105dzan\u0105 us\u0142ug\u0119, maj\u0105c na wzgl\u0119dzie przysz\u0142\u0105 mo\u017cliwo\u015b\u0107 implementacji ich na lokalnych serwerach. W rzeczywisto\u015bci wdra\u017canie lokalnych klastr\u00f3w rozpocz\u0119\u0142o si\u0119 pod koniec 2016 roku, a wtedy tak\u017ce zainicjowano strategi\u0119 hybrydow\u0105.<\/p>\n<h2>Uruchomienie lokalnej platformy orkiestracji kontener\u00f3w Dailymotion<\/h2>\n<p><\/p>\n<blockquote><p>Jesie\u0144 2016 roku<\/p><\/blockquote>\n<p>\nW warunkach, gdy ca\u0142y stos by\u0142 gotowy do produkcji, a prace nad API <noindex><a rel=\"nofollow\" href=\"https:\/\/tartiflette.io\/\">trwa\u0142y<\/a><\/noindex>, nadszed\u0142 czas, aby skupi\u0107 si\u0119 na regionalnych klastrach.<\/p>\n<p>W tamtym czasie u\u017cytkownicy przegl\u0105dali miesi\u0119cznie ponad 3 miliardy film\u00f3w. Oczywi\u015bcie, nasza w\u0142asna rozbudowana sie\u0107 dostarczania tre\u015bci funkcjonowa\u0142a ju\u017c od wielu lat. Chcieli\u015bmy skorzysta\u0107 z tego faktu i uruchomi\u0107 klastry Kubernetes w istniej\u0105cych centrach danych.<\/p>\n<p>Infrastruktura Dailymotion obejmowa\u0142a ponad 2500 serwer\u00f3w w sze\u015bciu centrach danych. Wszystkie z nich s\u0105 konfigurowane za pomoc\u0105 Saltstack. Zacz\u0119li\u015bmy przygotowywa\u0107 wszystkie niezb\u0119dne przepisy do utworzenia w\u0119z\u0142\u00f3w master i worker oraz klastra etcd.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/1b9924fd95cbf729126be6ad8b5e401e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Cz\u0119\u015b\u0107 sieciowa<\/h3>\n<p>\nNasza sie\u0107 jest ca\u0142kowicie routowalna. Ka\u017cdy serwer og\u0142asza sw\u00f3j adres IP w sieci za pomoc\u0105 Exabgp. Por\u00f3wnali\u015bmy kilka wtyczek sieciowych i jedyn\u0105, kt\u00f3ra spe\u0142nia\u0142a wszystkie wymagania (ze wzgl\u0119du na stosowane podej\u015bcie na poziomie L3), okaza\u0142a si\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.projectcalico.org\/\">Calico<\/a><\/noindex>. Idealnie wpasowa\u0142 si\u0119 w istniej\u0105cy model sieciowy infrastruktury.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u0430\u0448\u0435\u0439 \u0434\u043e\u043c\u043e\u0440\u043e\u0449\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445): \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0435\u0439 \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u0432 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u0441\u0435\u0442\u0438 \u0441 Kubernetes-\u0443\u0437\u043b\u0430\u043c\u0438. \u041c\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0438 Calico \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c IP-\u0430\u0434\u0440\u0435\u0441\u0430 pod&#8217;\u0430\u043c, \u043d\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0435\u0433\u043e \u0438 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f BGP-\u0441\u0435\u0441\u0441\u0438\u0439 \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438. \u041f\u043e \u0444\u0430\u043a\u0442\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f Exabgp, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0434\u0441\u0435\u0442\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 Calico. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0434\u043e\u0441\u0442\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u043a \u043b\u044e\u0431\u043e\u043c\u0443 pod&#8217;\u0443 \u0438\u0437 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 (\u0438 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438).<\/p>\n<h3>Jak zarz\u0105dzamy ruchem ingress<\/h3>\n<p>\nAby przekierowa\u0107 przychodz\u0105ce \u017c\u0105dania do odpowiedniej us\u0142ugi, postanowiono u\u017cy\u0107 Ingress Controller ze wzgl\u0119du na jego integracj\u0119 z zasobami ingress Kubernetes.<\/p>\n<p>Trzy lata temu nginx-ingress-controller by\u0142 najbardziej dojrza\u0142ym kontrolerem: Nginx by\u0142 u\u017cywany od dawna i by\u0142 znany ze swojej stabilno\u015bci i wydajno\u015bci.<\/p>\n<p>\u0412 \u0441\u0432\u043e\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u043d\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 10-\u0433\u0438\u0433\u0430\u0431\u0438\u0442\u043d\u044b\u0445 \u0431\u043b\u0435\u0439\u0434-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b\u0441\u044f \u043a endpoint&#8217;\u0443 kube-apiserver \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041d\u0430 \u044d\u0442\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f Exabgp \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0422\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c BGP \u0438\u0437 \u044d\u0442\u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 pod&#8217;\u044b \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0442\u0438\u043f\u0430 NodePort. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u0443\u0437\u043b\u0430\u043c\u0438 \u0438 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/5f715a395d72579a2d123520ccd6c933.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>\u0414\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u043a pod&#8217;\u0430\u043c<\/i><\/p>\n<p>Teraz, gdy zrozumieli\u015bmy nasz\u0105 hybrydow\u0105 platform\u0119, mo\u017cemy zag\u0142\u0119bi\u0107 si\u0119 w sam proces migracji ruchu.<\/p>\n<h2>Migracja ruchu z Google Cloud do infrastruktury Dailymotion<\/h2>\n<p><\/p>\n<blockquote><p>Jesie\u0144 2018 roku<\/p><\/blockquote>\n<p>\nPo prawie dw\u00f3ch latach tworzenia, testowania i konfigurowania wreszcie uzyskali\u015bmy pe\u0142ny stos Kubernetes, gotowy na przyj\u0119cie cz\u0119\u015bci ruchu.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/6028f9f810c3e0e3f2a32819a1f38df5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nObecna strategia routingu jest do\u015b\u0107 prosta, ale w pe\u0142ni zaspokaja potrzeby. Opr\u00f3cz publicznych adres\u00f3w IP (w Google Cloud i Dailymotion) wykorzystuje si\u0119 AWS Route 53 do definiowania polityk i przekierowywania u\u017cytkownik\u00f3w do klastra wed\u0142ug naszego wyboru.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes-przygod\u0119 Dailymotion: budowanie infrastruktury w chmurach + lokalnie\" src=\"\/wp-content\/uploads\/2019\/07\/e3878f4d34deabfa872e4d20aef9376e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Przyk\u0142ad polityki routingu z u\u017cyciem Route 53<\/i><\/p>\n<p>Z Google Cloud jest to proste, poniewa\u017c u\u017cywamy jednego adresu IP dla wszystkich klastr\u00f3w, a u\u017cytkownik jest przekierowywany do najbli\u017cszego klastra GKE. W przypadku naszych klastr\u00f3w technologia jest inna, poniewa\u017c ich adresy IP si\u0119 r\u00f3\u017cni\u0105.<\/p>\n<p>Podczas migracji d\u0105\u017cyli\u015bmy do przekierowywania regionalnych zapyta\u0144 do odpowiednich klastr\u00f3w i oceniali\u015bmy korzy\u015bci takiego podej\u015bcia.<\/p>\n<p>Poniewa\u017c nasze klastry GKE s\u0105 skonfigurowane do automatycznego skalowania przy u\u017cyciu Custom Metrics, zyskuj\u0105\/zmniejszaj\u0105 moce w zale\u017cno\u015bci od nap\u0142ywaj\u0105cego ruchu.<\/p>\n<p>\u0412 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0432\u0435\u0441\u044c \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u0430 GKE \u0441\u043b\u0443\u0436\u0438\u0442 \u0440\u0435\u0437\u0435\u0440\u0432\u043e\u043c \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c (health-check&#8217;\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f Route 53).<\/p>\n<h2>\u2026<\/h2>\n<p>\nW przysz\u0142o\u015bci chcemy w pe\u0142ni zautomatyzowa\u0107 polityki routingu, aby uzyska\u0107 autonomiczn\u0105 hybrydow\u0105 strategi\u0119, kt\u00f3ra nieustannie poprawia dost\u0119pno\u015b\u0107 dla u\u017cytkownik\u00f3w. Je\u015bli chodzi o zalety: znacznie zmniejszy\u0142y si\u0119 koszty chmury, a tak\u017ce uda\u0142o si\u0119 skr\u00f3ci\u0107 czas reakcji API. Ufamy otrzymanej platformie chmurowej i jeste\u015bmy gotowi w razie potrzeby przekierowa\u0107 na ni\u0105 wi\u0119cej ruchu.<\/p>\n<h2>P.S. od t\u0142umacza<\/h2>\n<p>\nMo\u017cesz r\u00f3wnie\u017c zainteresowa\u0107 si\u0119 inn\u0105 niedawn\u0105 publikacj\u0105 Dailymotion na temat Kubernetes. Jest ona po\u015bwi\u0119cona wdra\u017caniu aplikacji za pomoc\u0105 Helm w wielu klastrach Kubernetes i <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/dailymotion\/deploying-apps-on-multiple-kubernetes-clusters-with-helm-19ee2b06179e\">zosta\u0142a opublikowana<\/a><\/noindex> oko\u0142o miesi\u0105ca temu.<\/p>\n<p>Przeczytaj tak\u017ce na naszym blogu:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/440278\/\">Migracja Tindera na Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441754\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 10: <b>Reddit<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/412571\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 9: <b>CERN i 210 klastr\u00f3w K8s<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/349940\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 8: <b>Huawei<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/347098\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 7: <b>BlackRock<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/345780\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 6: <b>BlaBlaCar<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/342412\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 5: <b>cyfrowy bank Monzo<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/339724\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 4: <b>SoundCloud (tw\u00f3rcy Prometheusa)<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/335814\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 3: <b>GitHub<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/334770\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 2: <b>Concur i SAP<\/b><\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/334140\/\">Historie sukcesu Kubernetes w produkcji. Cz\u0119\u015b\u0107 1: <b>4200 pod\u00f3w i TessMaster u eBay<\/b><\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/460877\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: Dailymotion \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0438\u0445 \u0432 \u043c\u0438\u0440\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430 \u0432\u0438\u0434\u0435\u043e \u0438 \u043f\u043e\u0442\u043e\u043c\u0443 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c Kubernetes. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 David Donchez \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u0438\u0442\u043e\u0433\u0430\u043c\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f production-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 K8s, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0430\u0441\u044c \u0441 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0432 GKE \u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c \u043a\u0430\u043a \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0435\u0430\u043a\u0446\u0438\u0438 \u0438 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u0445. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27305,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36484","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\".\" \/>\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\/kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises\" \/>\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\udd47Kubernetes-\u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Dailymotion: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 + on-premises | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises\" \/>\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:11:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:11:54+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\udd47Przygoda z Kubernetes w Dailymotion: budowa infrastruktury w chmurach + on-premises | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises","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\udd47Kubernetes-\u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Dailymotion: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 + on-premises | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kubernetes-priklyuchenie-dailymotion-sozdanie-infrastruktury-v-oblakah-on-premises","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:11:54+00:00","article:modified_time":"2019-10-31T19:11:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36484","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-22 03:31:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:44:22","updated":"2026-01-22 03:31:19","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\/36484","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=36484"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/36484\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/27305"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=36484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=36484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=36484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}