{"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\/ro\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Cele mai bune practici Kubernetes. Maparea serviciilor externe","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Cele mai bune practici Kubernetes. Crearea de containere mici<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Cele mai bune practici Kubernetes. Organizarea Kubernetes cu spa\u021bii de nume<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Cele mai bune practici Kubernetes. Verificarea livrabilit\u0103\u021bii Kubernetes cu teste de Readiness \u0219i Liveness<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Cele mai bune practici Kubernetes. Configurarea cererilor \u0219i limitelor de resurse<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Cele mai bune practici Kubernetes. Oprirea corect\u0103 Terminate<\/a><\/noindex><\/p>\n<p>Dac\u0103 e\u0219ti ca majoritatea oamenilor, este probabil s\u0103 folose\u0219ti resurse care func\u021bioneaz\u0103 dincolo de clusterul t\u0103u. Poate folose\u0219ti API-ul Taleo pentru a trimite mesaje text sau analizezi imagini folosind API-ul Google Cloud Vision.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Dac\u0103 folose\u0219ti acela\u0219i endpoint \u2014 punct de primire a cererilor pe partea serverului \u00een toate mediile tale \u0219i nu pl\u0103nuie\u0219ti s\u0103 \u00ee\u021bi mu\u021bi serverele \u00een Kubernetes, atunci este perfect normal s\u0103 ai endpoint-ul serviciului direct \u00een codul t\u0103u. Totu\u0219i, exist\u0103 multe alte scenarii posibile. \u00cen aceast\u0103 serie de \u201eCele mai bune practici Kubernetes\u201d vei \u00eenv\u0103\u021ba cum s\u0103 folose\u0219ti mecanismele \u00eencorporate Kubernetes pentru a descoperi servicii at\u00e2t \u00een interiorul, c\u00e2t \u0219i \u00een exteriorul clusterului. <\/p>\n<p>Ca exemplu de serviciu extern comun, putem men\u021biona o baz\u0103 de date care func\u021bioneaz\u0103 \u00een afara clusterului Kubernetes. Spre deosebire de bazele de date \u00een cloud, cum ar fi Google Cloud Data Store sau Google Cloud Spanner, care folosesc un singur endpoint pentru toate tipurile de acces, majoritatea bazelor de date au endpoint-uri separate pentru diferite circumstan\u021be.<br \/>\nPracticile avansate pentru utilizarea bazelor de date tradi\u021bionale, precum MySQL \u0219i MongoDB, stipuleaz\u0103 de obicei c\u0103 te conectezi la diferite componente pentru diferite medii. Poate ai o ma\u0219in\u0103 mare pentru datele de produc\u021bie \u0219i una mai mic\u0103 pentru mediul de testare. Fiecare dintre acestea va avea propria adres\u0103 IP sau nume de domeniu, dar cu siguran\u021b\u0103 nu vrei s\u0103 \u00ee\u021bi schimbi codul atunci c\u00e2nd treci de la un mediu la altul. De aceea, \u00een loc s\u0103 codifici \u00een mod fix aceste adrese, po\u021bi folosi serviciul \u00eencorporat \u00een Kubernetes pentru descoperirea serviciilor externe bazate pe DNS, exact ca \u0219i pentru serviciile native Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPresupunem c\u0103 \u00ee\u021bi rulezi baza de date MongoDB \u00een Google Compute Engine. Vei r\u0103m\u00e2ne prins \u00een aceast\u0103 lume hibrid\u0103 p\u00e2n\u0103 c\u00e2nd vei reu\u0219i s\u0103 o mu\u021bi \u00een cluster.<\/p>\n<p>Din fericire, po\u021bi folosi serviciile statice Kubernetes pentru a-\u021bi u\u0219ura pu\u021bin via\u021ba. \u00cen acest exemplu, am creat un server MongoDB folosind Google Cloud Launcher. Deoarece a fost creat \u00een aceea\u0219i re\u021bea (sau VPC a clusterului Kubernetes), accesul la el se face printr-o adres\u0103 IP intern\u0103 de \u00eenalt\u0103 performan\u021b\u0103.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cen Google Cloud, aceasta este setarea implicit\u0103, a\u0219a c\u0103 nu trebuie s\u0103 face\u021bi nimic. Acum, c\u00e2nd exist\u0103 o adres\u0103 IP, primul pas este crearea unui serviciu. Este de observat c\u0103 pentru acest serviciu nu sunt selectori de pod-uri. Cu alte cuvinte, am creat un serviciu care nu va \u0219ti unde s\u0103 trimit\u0103 traficul. Aceasta va permite crearea manual\u0103 a unui obiect endpoint, care va primi traficul de la acest serviciu. <\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUrm\u0103torul exemplu de cod arat\u0103 c\u0103 endpoint-urile definesc adresa IP pentru baza de date, folosind acela\u0219i nume mongo ca \u0219i serviciul.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes va folosi toate adresele IP pentru a g\u0103si endpoint-urile, ca \u0219i cum ar fi pod-uri Kubernetes obi\u0219nuite, astfel \u00eenc\u00e2t acum pute\u021bi accesa baza de date folosind o simpl\u0103 linie de conectare c\u0103tre numele men\u021bionat mai sus mongodb:\/\/mongo. Astfel, nu este necesar s\u0103 folosi\u021bi adrese IP \u00een codul dumneavoastr\u0103.<\/p>\n<p>Dac\u0103 \u00een viitor adresele IP se vor schimba, pute\u021bi actualiza pur \u0219i simplu endpoint-urile cu noua adres\u0103 IP, iar aplica\u021biile dumneavoastr\u0103 nu vor necesita modific\u0103ri suplimentare.<\/p>\n<p>Dac\u0103 folosi\u021bi o baz\u0103 de date g\u0103zduit\u0103 pe un host ter\u021b, este probabil ca proprietarii host-ului s\u0103 v\u0103 fi oferit un identificator unificat de resurs\u0103 URI pentru conectare. A\u0219adar, dac\u0103 vi s-a dat o adres\u0103 IP, pute\u021bi folosi pur \u0219i simplu metoda anterioar\u0103. Acest exemplu arat\u0103 c\u0103 am dou\u0103 baze de date MongoDB, g\u0103zduite pe host-ul mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUna dintre ele este baza de date pentru dezvoltatori \u0219i cealalt\u0103 este baza de date pentru produc\u021bie. liniile de conectare pentru aceste baze de date arat\u0103 astfel \u2014 mLab v\u0103 ofer\u0103 un URI dinamic \u0219i un port dinamic. Dup\u0103 cum vede\u021bi, sunt diferite.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPentru a te abstrae de aceasta, folosim Kubernetes \u0219i ne conect\u0103m la baza de date pentru dezvoltatori. Pute\u021bi crea un nume de serviciu extern Kubernetes, care v\u0103 va oferi un serviciu static, ce va redirec\u021biona traficul c\u0103tre un serviciu extern. <\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAcest serviciu va efectua o redirec\u021bionare CNAME simpl\u0103 la nivel de kernel, ceea ce va avea un impact minim asupra performan\u021bei. Datorit\u0103 acestui lucru, pute\u021bi utiliza o linie de conectare mai simpl\u0103.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDar deoarece numele extern utilizeaz\u0103 o redirec\u021bionare CNAME, nu poate realiza o remapare a porturilor. Prin urmare, aceast\u0103 solu\u021bie este aplicabil\u0103 doar pentru porturi statice \u0219i nu poate fi utilizat\u0103 cu porturi dinamice. Totu\u0219i, mLab Free Tier ofer\u0103 utilizatorului un num\u0103r de port dinamic, \u0219i nu pute\u021bi schimba acest lucru. Aceasta \u00eenseamn\u0103 c\u0103 ave\u021bi nevoie de diferite \u0219iruri de conectare pentru dev \u0219i prod. Problema este c\u0103 va trebui s\u0103 codifica\u021bi \u00een mod fix num\u0103rul de port. A\u0219adar, cum face\u021bi s\u0103 func\u021bioneze remaparea porturilor?<\/p>\n<p>Primul pas este ob\u021binerea adresei IP din URI. Dac\u0103 rula\u021bi comanda nslookup, hostname sau face\u021bi ping la URI, pute\u021bi ob\u021bine adresa IP a bazei de date. Dac\u0103 serviciul v\u0103 returneaz\u0103 mai multe adrese IP, pute\u021bi folosi toate aceste adrese \u00een punctele finale ale obiectului.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTrebuie s\u0103 re\u021bine\u021bi c\u0103 adresele IP ale URI-urilor se pot schimba f\u0103r\u0103 preaviz, ceea ce le face destul de riscante pentru utilizarea \u00een prod. Cu o astfel de adres\u0103 IP, pute\u021bi s\u0103 v\u0103 conecta\u021bi la o baz\u0103 de date de la distan\u021b\u0103, f\u0103r\u0103 a specifica un port. Astfel, serviciul Kubernetes realizeaz\u0103 destul de transparent remaparea porturilor.<\/p>\n<p><img decoding=\"async\" alt=\"Cele mai bune practici Kubernetes. Maparea serviciilor externe\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMaparea, sau asocierea resurselor externe cu cele interne, v\u0103 ofer\u0103 flexibilitate pentru utilizarea acestor servicii \u00een interiorul clusterului \u00een viitor, minimiz\u00e2nd eforturile de refactorizare. De asemenea, faciliteaz\u0103 gestionarea \u0219i ofer\u0103 o \u00een\u021belegere a serviciilor externe utilizate de compania dvs. <\/p>\n<p>Continuarea va veni foarte cur\u00e2nd\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=\"Reda\u021bi 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>Pu\u021bin publicitate \ud83d\ude42<\/h3>\n<p>\nMul\u021bumim c\u0103 r\u0103m\u00e2ne\u021bi cu noi. V\u0103 plac articolele noastre? Dori\u021bi s\u0103 vede\u021bi mai multe materiale interesante? Sus\u021bine\u021bi-ne, efectu\u00e2nd o comand\u0103 sau recomand\u00e2ndu-ne prietenilor, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS cloud pentru dezvoltatori de la 4,99 $<\/a><\/noindex>, <b>un echivalent unic pentru serverele entry-level, care a fost creat de noi pentru voi:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toat\u0103 adev\u0103rul despre VPS (KVM) E5-2697 v3 (6 nuclee) 10GB DDR4 480GB SSD 1Gbps de la 19 $ sau cum s\u0103 \u00eemp\u0103r\u021bi\u021bi corect un server?<\/a><\/noindex> (sunt disponibile op\u021biuni cu RAID1 \u0219i RAID10, p\u00e2n\u0103 la 24 nuclee \u0219i p\u00e2n\u0103 la 40GB DDR4).<\/p>\n<p><b>Dell R730xd la jum\u0103tate de pre\u021b \u00een centrul de date Equinix Tier IV din Amsterdam?<\/b> Numai la noi <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 de la 199 $<\/a><\/noindex> \u00een Olanda! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 de la 99 $!<\/b><\/b> Citi\u021bi despre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Cum s\u0103 construi\u021bi o infrastructur\u0103 de clas\u0103 enterprise folosind servere Dell R730xd E5-2650 v4 la pre\u021buri foarte mici de 9000 \u20ac?<\/a><\/noindex><br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Cele mai bune practici Kubernetes. Maparea serviciilor externe | ProHoster","description":"Cele mai bune practici Kubernetes.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/82902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}