{"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\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Mejores pr\u00e1cticas de Kubernetes. Creaci\u00f3n de contenedores peque\u00f1os<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Mejores pr\u00e1cticas de Kubernetes. Organizaci\u00f3n de Kubernetes con el espacio de nombres<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Mejores pr\u00e1cticas de Kubernetes. Verificaci\u00f3n de la viabilidad de Kubernetes mediante pruebas de Readiness y Liveness.<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Mejores pr\u00e1cticas de Kubernetes. Configuraci\u00f3n de solicitudes y l\u00edmites de recursos<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Mejores pr\u00e1cticas de Kubernetes. Desactivaci\u00f3n correcta de Terminate<\/a><\/noindex><\/p>\n<p>Si eres como la mayor\u00eda de las personas, probablemente est\u00e9s utilizando recursos que funcionan fuera de tu cl\u00faster. Tal vez est\u00e9s usando la API de Taleo para enviar mensajes de texto o analizando im\u00e1genes con la API de Google Cloud Vision.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Si utilizas el mismo endpoint \u2014 el punto de recepci\u00f3n de solicitudes en el servidor en todos tus entornos y no planeas mover tus servidores a Kubernetes, es completamente normal tener el endpoint del servicio directamente en tu c\u00f3digo. Sin embargo, hay muchos otros escenarios posibles. En esta serie de 'Mejores Pr\u00e1cticas de Kubernetes' aprender\u00e1s c\u00f3mo utilizar los mecanismos integrados de Kubernetes para descubrir servicios tanto dentro como fuera del cl\u00faster. <\/p>\n<p>Como ejemplo de un servicio externo ampliamente utilizado, podemos mencionar una base de datos que opera fuera del cl\u00faster de Kubernetes. A diferencia de bases de datos en la nube como Google Cloud Data Store o Google Cloud Spanner, que utilizan un \u00fanico endpoint para todos los tipos de acceso, la mayor\u00eda de las bases de datos tienen endpoints separados para diferentes circunstancias.<br \/>\nLas mejores pr\u00e1cticas para el uso de bases de datos tradicionales, como MySQL y MongoDB, generalmente implican que te conectes a diferentes componentes para diferentes entornos. Puede que tengas una m\u00e1quina grande para datos de producci\u00f3n y una m\u00e1s peque\u00f1a para el entorno de prueba. Cada una de ellas tendr\u00e1 su propia direcci\u00f3n IP o nombre de dominio, pero seguro que no querr\u00e1s cambiar tu c\u00f3digo al pasar de un entorno a otro. Por lo tanto, en lugar de codificar estas direcciones de forma r\u00edgida, puedes utilizar el servicio de descubrimiento de servicios externos basado en DNS integrado en Kubernetes de la misma manera que lo haces para los servicios nativos de Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSupongamos que tienes una base de datos MongoDB en Google Compute Engine. Permanecer\u00e1s atrapado en este mundo h\u00edbrido hasta que consigas moverla a un cl\u00faster.<\/p>\n<p>Afortunadamente, puedes usar servicios est\u00e1ticos de Kubernetes para facilitarte un poco la vida. En este ejemplo, he creado un servidor MongoDB utilizando Google Cloud Launcher. Como se ha creado en la misma red (o VPC del cl\u00faster de Kubernetes), se accede a \u00e9l mediante una direcci\u00f3n IP interna de alto rendimiento.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn Google Cloud, esta es la configuraci\u00f3n predeterminada, por lo que no necesitas hacer ninguna configuraci\u00f3n. Ahora que hay una direcci\u00f3n IP, el primer paso consiste en crear un servicio. Cabe notar que para este servicio no hay selectores de pods. Es decir, hemos creado un servicio que no sabr\u00e1 a d\u00f3nde enviar el tr\u00e1fico. Esto permitir\u00e1 crear manualmente un objeto de endpoint que recibir\u00e1 el tr\u00e1fico de este servicio. <\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl siguiente ejemplo de c\u00f3digo muestra que los endpoints definen la direcci\u00f3n IP para la base de datos, utilizando el mismo nombre mongo que el servicio.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes utilizar\u00e1 todas las direcciones IP para encontrar los endpoints, como si fueran pods normales de Kubernetes, as\u00ed que ahora puedes acceder a la base de datos usando una simple cadena de conexi\u00f3n al nombre mongodb:\/\/mongo. No es necesario utilizar direcciones IP en tu c\u00f3digo.<\/p>\n<p>Si en el futuro las direcciones IP cambian, simplemente puedes actualizar los endpoints con la nueva direcci\u00f3n IP, y tus aplicaciones no necesitar\u00e1n cambiar de ninguna manera adicional.<\/p>\n<p>Si utilizas una base de datos alojada en un host de terceros, lo m\u00e1s probable es que los propietarios del host te hayan proporcionado un identificador de recurso unificado URI para conectarte. As\u00ed que si te dieron una direcci\u00f3n IP, puedes simplemente utilizar el m\u00e9todo anterior. Este ejemplo muestra que tengo dos bases de datos MongoDB alojadas en el host mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUna de ellas es la base de datos de desarrollo y la otra es la base de producci\u00f3n. Las cadenas de conexi\u00f3n para estas bases de datos son las siguientes: mLab te proporciona un URI din\u00e1mico y un puerto din\u00e1mico. Como puedes ver, son diferentes.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara abstraernos de esto, usamos Kubernetes y nos conectamos a la base de datos de desarrollo. Puedes crear un nombre de servicio externo en Kubernetes, que te proporcionar\u00e1 un servicio est\u00e1tico que redirigir\u00e1 el tr\u00e1fico hacia el servicio externo. <\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEste servicio realizar\u00e1 una simple redirecci\u00f3n CNAME a nivel de n\u00facleo, lo que tendr\u00e1 un impacto m\u00ednimo en el rendimiento. Gracias a esto, puedes usar una cadena de conexi\u00f3n m\u00e1s simple.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPero dado que el nombre externo utiliza redirecci\u00f3n CNAME, no puede realizar la reasignaci\u00f3n de puertos. Por lo tanto, esta soluci\u00f3n es aplicable solo para puertos est\u00e1ticos y no puede usarse con puertos din\u00e1micos. Sin embargo, el mLab Free Tier proporciona por defecto un n\u00famero de puerto din\u00e1mico, y no puedes cambiar esto. Esto significa que para dev y prod necesitas diferentes cadenas de conexi\u00f3n. Lo malo es que necesitar\u00e1s codificar el n\u00famero de puerto de forma r\u00edgida. Entonces, \u00bfc\u00f3mo hacer que la reasignaci\u00f3n de puertos funcione?<\/p>\n<p>El primer paso es obtener la direcci\u00f3n IP del URI. Si ejecutas el comando nslookup, hostname o haces ping al URI, podr\u00e1s obtener la direcci\u00f3n IP de la base de datos. Si el servicio te devuelve varias direcciones IP, todas estas direcciones se pueden usar en los puntos finales del objeto.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs importante recordar que las direcciones IP de los URI pueden cambiar sin previo aviso, por lo que es bastante arriesgado usarlas en prod. Con una direcci\u00f3n IP de este tipo, puedes conectarte a una base de datos remota sin especificar un puerto. As\u00ed, el servicio de Kubernetes realiza la reasignaci\u00f3n de puertos de forma bastante transparente.<\/p>\n<p><img decoding=\"async\" alt=\"Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl mapeo, o la asignaci\u00f3n de recursos externos a internos, te permite usar estos servicios dentro del cl\u00faster en el futuro de manera flexible, minimizando los esfuerzos de refactorizaci\u00f3n. Tambi\u00e9n facilita la gesti\u00f3n y proporciona una comprensi\u00f3n de qu\u00e9 servicios externos usa tu empresa. <\/p>\n<p>La continuaci\u00f3n ser\u00e1 muy pronto...<\/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=\"Reproducir 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>Un poco de publicidad \ud83d\ude42<\/h3>\n<p>\nGracias por permanecer con nosotros. \u00bfTe gustan nuestros art\u00edculos? \u00bfQuieres ver m\u00e1s contenido interesante? Ap\u00f3yanos haciendo un pedido o recomendando a tus conocidos, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS en la nube para desarrolladores desde $4.99<\/a><\/noindex>, <b>un an\u00e1logo \u00fanico de servidores entry-level que hemos dise\u00f1ado para Ti:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toda la verdad sobre VPS (KVM) E5-2697 v3 (6 n\u00facleos) 10GB DDR4 480GB SSD 1Gbps desde $19, o c\u00f3mo dividir correctamente un servidor?<\/a><\/noindex> (disponibles opciones con RAID1 y RAID10, hasta 24 n\u00facleos y hasta 40GB DDR4).<\/p>\n<p><b>\u00bfDell R730xd a mitad de precio en el centro de datos Equinix Tier IV en \u00c1msterdam?<\/b> Solo aqu\u00ed <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 desde $199<\/a><\/noindex> \u00a1en los Pa\u00edses Bajos! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 \u00a1desde $99!<\/b><\/b> Lee sobre c\u00f3mo <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Construir infraestructura de clase empresarial usando servidores Dell R730xd E5-2650 v4 que cuestan 9000 euros a un precio asequible?<\/a><\/noindex><br \/>\n<br \/>Fuente: <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 - 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\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Mejores pr\u00e1cticas de Kubernetes. Mapeo de servicios externos | ProHoster","description":"Mejores pr\u00e1cticas de Kubernetes.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/82902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}