{"id":82902,"date":"2020-05-26T13:42:27","date_gmt":"2020-05-26T11:42:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov"},"modified":"2020-05-26T13:42:27","modified_gmt":"2020-05-26T11:42:27","slug":"luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Vytv\u00e1\u0159en\u00ed mal\u00fdch kontejner\u016f<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Organizace Kubernetes pomoc\u00ed jmenn\u00e9ho prostoru<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Kontrola \u017eivotaschopnosti Kubernetes pomoc\u00ed test\u016f Readiness a Liveness<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Nastaven\u00ed po\u017eadavk\u016f a limit\u016f zdroj\u016f<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Nejlep\u0161\u00ed praktiky Kubernetes. Spr\u00e1vn\u00e9 ukon\u010den\u00ed Terminate<\/a><\/noindex><\/p>\n<p>Pokud jste jako v\u011bt\u0161ina lid\u00ed, pravd\u011bpodobn\u011b pou\u017e\u00edv\u00e1te zdroje funguj\u00edc\u00ed mimo sv\u016fj klastr. Mo\u017en\u00e1 pou\u017e\u00edv\u00e1te API Taleo k odes\u00edl\u00e1n\u00ed textov\u00fdch zpr\u00e1v nebo analyzujete obr\u00e1zky pomoc\u00ed API Google Cloud Vision.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Pokud pou\u017e\u00edv\u00e1te stejn\u00fd endpoint \u2014 bod p\u0159\u00edjmu po\u017eadavk\u016f na stran\u011b serveru ve v\u0161ech sv\u00fdch prost\u0159ed\u00edch a nepl\u00e1nujete p\u0159esunout sv\u00e9 servery do Kubernetes, je zcela norm\u00e1ln\u00ed m\u00edt endpoint slu\u017eby p\u0159\u00edmo ve sv\u00e9m k\u00f3du. Existuje v\u0161ak mnoho dal\u0161\u00edch sc\u00e9n\u00e1\u0159\u016f. V t\u00e9to s\u00e9rii \u201eKubernetes Best Practices\u201c se dozv\u00edte, jak vyu\u017e\u00edvat vestav\u011bn\u00e9 mechanismy Kubernetes pro objevov\u00e1n\u00ed slu\u017eeb jak uvnit\u0159, tak vn\u011b klastru. <\/p>\n<p>Jako p\u0159\u00edklad \u0161iroce roz\u0161\u00ed\u0159en\u00e9 extern\u00ed slu\u017eby lze uv\u00e9st datab\u00e1zi, kter\u00e1 funguje mimo klastr Kubernetes. Na rozd\u00edl od cloudov\u00fdch datab\u00e1z\u00ed, jako jsou Google Cloud Data Store nebo Google Cloud Spanner, kter\u00e9 pou\u017e\u00edvaj\u00ed jeden endpoint pro v\u0161echny typy p\u0159\u00edstupu, v\u011bt\u0161ina datab\u00e1z\u00ed m\u00e1 samostatn\u00e9 endpointy pro r\u016fzn\u00e9 situace.<br \/>\nNejlep\u0161\u00ed prax\u00ed p\u0159i pou\u017e\u00edv\u00e1n\u00ed tradi\u010dn\u00edch datab\u00e1z\u00ed, jako jsou MySQL a MongoDB, obvykle je, \u017ee se p\u0159ipojujete k r\u016fzn\u00fdm komponent\u00e1m pro r\u016fzn\u00e9 prost\u0159ed\u00ed. M\u016f\u017eete m\u00edt siln\u011bj\u0161\u00ed stroj pro produk\u010dn\u00ed data a men\u0161\u00ed stroj pro testovac\u00ed prost\u0159ed\u00ed. Ka\u017ed\u00fd z nich bude m\u00edt svou vlastn\u00ed IP adresu nebo dom\u00e9nov\u00e9 jm\u00e9no, ale ur\u010dit\u011b nebudete cht\u00edt m\u011bnit sv\u016fj k\u00f3d p\u0159i p\u0159echodu z jednoho prost\u0159ed\u00ed do druh\u00e9ho. Proto nam\u00edsto tvrd\u00e9ho k\u00f3dov\u00e1n\u00ed t\u011bchto adres m\u016f\u017eete vyu\u017e\u00edt vestav\u011bn\u00e9 slu\u017eby Kubernetes pro objevov\u00e1n\u00ed extern\u00edch slu\u017eeb zalo\u017een\u00e9 na DNS, stejn\u011b jako pro nativn\u00ed slu\u017eby Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u0159edpokl\u00e1dejme, \u017ee spou\u0161t\u00edte datab\u00e1zi MongoDB na Google Compute Engine. Z\u016fstanete v tomto hybridn\u00edm sv\u011bt\u011b, dokud ji nebudete moci p\u0159esunout do klastru.<\/p>\n<p>Na\u0161t\u011bst\u00ed m\u016f\u017eete pou\u017e\u00edt statick\u00e9 slu\u017eby Kubernetes, abyste si alespo\u0148 trochu uleh\u010dili \u017eivot. V tomto p\u0159\u00edkladu jsem vytvo\u0159il server MongoDB pomoc\u00ed Google Cloud Launcher. Proto\u017ee je vytvo\u0159en ve stejn\u00e9 s\u00edti (nebo VPC klastru Kubernetes), je k n\u011bmu p\u0159\u00edstup p\u0159es vysoce v\u00fdkonnou intern\u00ed IP adresu.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV Google Cloud je toto v\u00fdchoz\u00ed nastaven\u00ed, tak\u017ee nic nemus\u00edte upravovat. Nyn\u00ed, kdy\u017e je zde IP adresa, prvn\u00edm krokem je vytvo\u0159en\u00ed slu\u017eby. M\u016f\u017eete si v\u0161imnout, \u017ee pro tuto slu\u017ebu neexistuj\u00ed \u017e\u00e1dn\u00e9 podov\u00e9 selektory. To znamen\u00e1, \u017ee jsme vytvo\u0159ili slu\u017ebu, kter\u00e1 nebude v\u011bd\u011bt, kam odes\u00edlat provoz. To umo\u017en\u00ed manu\u00e1ln\u011b vytvo\u0159it objekt endpoint, kter\u00fd bude p\u0159ij\u00edmat provoz z t\u00e9to slu\u017eby. <\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e1sleduj\u00edc\u00ed p\u0159\u00edklad k\u00f3du ukazuje, \u017ee koncov\u00e9 body ur\u010duj\u00ed IP adresu pro datab\u00e1zi, pou\u017e\u00edvaj\u00edc\u00ed stejn\u00e9 jm\u00e9no mongo, jako slu\u017eba.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes pou\u017eije v\u0161echny IP adresy, aby na\u0161el koncov\u00e9 body, jako by to byly b\u011b\u017en\u00e9 podov\u00e9 aplikace Kubernetes, tak\u017ee nyn\u00ed m\u016f\u017eete p\u0159istupovat k datab\u00e1zi pomoc\u00ed jednoduch\u00e9ho p\u0159ipojovac\u00edho \u0159et\u011bzce k v\u00fd\u0161e zm\u00edn\u011bn\u00e9mu jm\u00e9nu mongodb:\/\/mongo. Nen\u00ed v\u016fbec pot\u0159eba pou\u017e\u00edvat IP adresy ve va\u0161em k\u00f3du.<\/p>\n<p>Pokud se v budoucnu IP adresy zm\u011bn\u00ed, m\u016f\u017eete jednodu\u0161e aktualizovat koncov\u00e9 body pomoc\u00ed nov\u00e9 IP adresy, a va\u0161e aplikace nebude pot\u0159eba m\u011bnit \u017e\u00e1dn\u00fdm dal\u0161\u00edm zp\u016fsobem.<\/p>\n<p>Pokud pou\u017e\u00edv\u00e1te datab\u00e1zi hostovanou na extern\u00edm hostu, pravd\u011bpodobn\u011b v\u00e1m vlastn\u00edci hostingu poskytli pro p\u0159ipojen\u00ed jednotn\u00fd identifik\u00e1tor prost\u0159edku URI. Pokud v\u00e1m byla poskytnuta IP adresa, m\u016f\u017eete jednodu\u0161e vyu\u017e\u00edt p\u0159edchoz\u00ed metodu. Tento p\u0159\u00edklad ukazuje, \u017ee m\u00e1m dv\u011b datab\u00e1ze MongoDB hostovan\u00e9 na hostiteli mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJedna z nich je datab\u00e1ze pro v\u00fdvoj\u00e1\u0159e a druh\u00e1 je produk\u010dn\u00ed datab\u00e1ze. P\u0159ipojovac\u00ed \u0159et\u011bzce pro tyto datab\u00e1ze vypadaj\u00ed n\u00e1sledovn\u011b \u2014 mLab v\u00e1m poskytuje dynamick\u00e9 URI a dynamick\u00fd port. Jak vid\u00edte, jsou odli\u0161n\u00e9.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAbychom se od toho abstrahovali, pou\u017eijeme Kubernetes a p\u0159ipoj\u00edme se k datab\u00e1zi pro v\u00fdvoj\u00e1\u0159e. M\u016f\u017eete vytvo\u0159it extern\u00ed jm\u00e9no Kubernetes slu\u017eby, co\u017e v\u00e1m poskytne statickou slu\u017ebu, kter\u00e1 p\u0159esm\u011bruje provoz na extern\u00ed slu\u017ebu. <\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTato slu\u017eba provede jednoduch\u00e9 CNAME p\u0159esm\u011brov\u00e1n\u00ed na \u00farovni j\u00e1dra, co\u017e m\u00e1 minim\u00e1ln\u00ed vliv na v\u00fdkonnost. D\u00edky tomu m\u016f\u017eete pou\u017e\u00edt jednodu\u0161\u0161\u00ed p\u0159ipojovac\u00ed \u0159et\u011bzec.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAle proto\u017ee extern\u00ed n\u00e1zev pou\u017e\u00edv\u00e1 p\u0159esm\u011brov\u00e1n\u00ed CNAME, nem\u016f\u017ee prov\u00e9st p\u0159esm\u011brov\u00e1n\u00ed port\u016f. Toto \u0159e\u0161en\u00ed je tedy pou\u017eiteln\u00e9 pouze pro statick\u00e9 porty a nem\u016f\u017ee b\u00fdt pou\u017eito s dynamick\u00fdmi porty. Bezplatn\u00e1 \u00farove\u0148 mLab Free Tier v\u0161ak standardn\u011b poskytuje u\u017eivateli dynamick\u00e9 \u010d\u00edslo portu, kter\u00e9 nem\u016f\u017eete zm\u011bnit. To znamen\u00e1, \u017ee pro dev a prod pot\u0159ebujete r\u016fzn\u00e9 p\u0159\u00edkazov\u00e9 \u0159\u00e1dky pro p\u0159ipojen\u00ed. \u0160patn\u00e9 je, \u017ee k tomu bude pot\u0159eba tvrd\u011b zak\u00f3dovat \u010d\u00edslo portu. Jak tedy dos\u00e1hnout funk\u010dn\u00edho p\u0159esm\u011brov\u00e1n\u00ed port\u016f?<\/p>\n<p>Prvn\u00edm krokem je z\u00edsk\u00e1n\u00ed IP adresy z URI. Pokud spust\u00edte p\u0159\u00edkaz nslookup, hostname nebo pingujete URI, m\u016f\u017eete z\u00edskat IP adresu datab\u00e1ze. Pokud slu\u017eba vr\u00e1t\u00ed v\u00edce IP adres, v\u0161echny tyto adresy lze pou\u017e\u00edt v koncov\u00fdch bodech objektu.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe t\u0159eba m\u00edt na pam\u011bti, \u017ee IP adresy URI se mohou m\u011bnit bez p\u0159edchoz\u00edho upozorn\u011bn\u00ed, a proto je jejich pou\u017eit\u00ed v produci pom\u011brn\u011b riskantn\u00ed. Pomoc\u00ed takov\u00e9 IP adresy se m\u016f\u017eete p\u0159ipojit k vzd\u00e1len\u00e9 datab\u00e1zi, ani\u017e byste museli uv\u00e1d\u011bt port. Slu\u017eba Kubernetes tedy velmi transparentn\u011b prov\u00e1d\u00ed p\u0159esm\u011brov\u00e1n\u00ed port\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"Nejlep\u0161\u00ed postupy Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMapping, neboli mapov\u00e1n\u00ed extern\u00edch zdroj\u016f na intern\u00ed, v\u00e1m d\u00e1v\u00e1 mo\u017enost flexibiln\u011b pou\u017e\u00edvat tyto slu\u017eby uvnit\u0159 clustera v budoucnu p\u0159i minimalizaci n\u00e1mahy p\u0159i refaktoringu. Usnad\u0148uje to tak\u00e9 spr\u00e1vu a poskytuje pochopen\u00ed toho, jak\u00e9 extern\u00ed slu\u017eby va\u0161e spole\u010dnost vyu\u017e\u00edv\u00e1. <\/p>\n<p>Pokra\u010dov\u00e1n\u00ed bude brzy\u2026<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"fvpq4jqtuZ8\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/fvpq4jqtuZ8\/hqdefault.jpg\" alt=\"P\u0159ehr\u00e1t video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Mal\u00e1 reklama \ud83d\ude42<\/h3>\n<p>\nD\u011bkujeme, \u017ee s n\u00e1mi z\u016fst\u00e1v\u00e1te. L\u00edb\u00ed se v\u00e1m na\u0161e \u010dl\u00e1nky? Chcete vid\u011bt v\u00edce zaj\u00edmav\u00fdch materi\u00e1l\u016f? Podpo\u0159te n\u00e1s objedn\u00e1vkou nebo doporu\u010den\u00edm zn\u00e1m\u00fdm, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">cloudov\u00e9 VPS pro v\u00fdvoj\u00e1\u0159e od 4,99 $<\/a><\/noindex>, <b>unik\u00e1tn\u00ed alternativa entry-level server\u016f, kterou jsme pro v\u00e1s vymysleli:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">V\u0161echny pravdy o VPS (KVM) E5-2697 v3 (6 jader) 10GB DDR4 480GB SSD 1Gbps od 19 $ nebo jak spr\u00e1vn\u011b rozd\u011blit server?<\/a><\/noindex> (k dispozici varianty s RAID1 a RAID10, a\u017e 24 jader a a\u017e 40GB DDR4).<\/p>\n<p><b>Dell R730xd je dvakr\u00e1t levn\u011bj\u0161\u00ed v datov\u00e9m centru Equinix Tier IV v Amsterdamu?<\/b> Jen u n\u00e1s <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB od 199 $<\/a><\/noindex> v Nizozemsku! <b>Dell R420 \u2014 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 $!<\/b><\/b> \u010ct\u011bte o tom <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Jak postavit infrastrukturu podnikov\u00e9 t\u0159\u00eddy s pou\u017eit\u00edm server\u016f Dell R730xd E5-2650 v4 v hodnot\u011b 9000 eur za pakatel?<\/a><\/noindex><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503612\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439, \u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0432\u0430\u0448\u0435\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82902","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\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\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\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-05-26T11:42:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:27+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\udd47Nejlep\u0161\u00ed praktiky Kubernetes. Mapov\u00e1n\u00ed extern\u00edch slu\u017eeb | ProHoster","description":"Nejlep\u0161\u00ed praktiky Kubernetes.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","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-05-26T11:42:27+00:00","article:modified_time":"2020-05-26T11:42:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82902","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 15:29:29","updated":"2022-10-02 08:31:16","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/82902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}