{"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\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Le migliori pratiche di Kubernetes. Creazione di piccoli container<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Le migliori pratiche di Kubernetes. Organizzazione di Kubernetes con spazi dei nomi<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Migliori pratiche Kubernetes. Configurazione delle richieste e dei limiti delle risorse<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Le migliori pratiche di Kubernetes. Arresto corretto di Terminate<\/a><\/noindex><\/p>\n<p>Se sei come la maggior parte delle persone, probabilmente utilizzi risorse che funzionano al di fuori del tuo cluster. Potresti utilizzare l'API Taleo per inviare messaggi di testo o analizzare le immagini utilizzando l'API Google Cloud Vision.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Se utilizzi lo stesso endpoint \u2014 il punto di ricezione delle richieste sul server in tutti i tuoi ambienti e non hai in programma di spostare i tuoi server in Kubernetes, \u00e8 del tutto normale avere l'endpoint del servizio direttamente nel tuo codice. Tuttavia, ci sono molti altri scenari. In questa serie di \"Migliori pratiche Kubernetes\" imparerai a utilizzare i meccanismi integrati di Kubernetes per la scoperta dei servizi sia all'interno che all'esterno del cluster. <\/p>\n<p>Un esempio comune di servizio esterno \u00e8 un database che funziona al di fuori del cluster Kubernetes. A differenza di database cloud come Google Cloud Data Store o Google Cloud Spanner, che utilizzano un unico endpoint per ogni tipo di accesso, la maggior parte dei database ha endpoint separati per diverse circostanze.<br \/>\nUna prassi consolidata nell'uso di database tradizionali come MySQL e MongoDB prevede che tu ti connetta a diversi componenti per ogni diverso ambiente. Potresti avere una macchina pi\u00f9 grande per i dati di produzione e una macchina pi\u00f9 piccola per l'ambiente di test. Ognuna di esse avr\u00e0 il proprio indirizzo IP o nome di dominio, ma sicuramente non vorrai modificare il tuo codice passando da un ambiente all'altro. Pertanto, invece di codificare rigidamente questi indirizzi, puoi utilizzare il servizio integrato di Kubernetes per scoprire servizi esterni basati su DNS proprio come fai per i servizi nativi di Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSupponiamo che tu stia eseguendo un database MongoDB su Google Compute Engine. Rimarrai bloccato in questo mondo ibrido fino a quando non riuscirai a trasferirlo nel cluster.<\/p>\n<p>Fortunatamente, puoi utilizzare i servizi statici di Kubernetes per semplificarti un po' la vita. In questo esempio ho creato un server MongoDB utilizzando Google Cloud Launcher. Poich\u00e9 \u00e8 creato nella stessa rete (o VPC del cluster Kubernetes), l'accesso avviene tramite un indirizzo IP interno ad alte prestazioni.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn Google Cloud, questa \u00e8 l'impostazione predefinita, quindi non \u00e8 necessario configurare nulla. Ora che hai un indirizzo IP, il primo passo \u00e8 creare un servizio. Puoi notare che per questo servizio non ci sono selettori dei pod. In altre parole, abbiamo creato un servizio che non sapr\u00e0 dove inviare il traffico. Questo permetter\u00e0 di creare manualmente un oggetto endpoint, che ricever\u00e0 il traffico da questo servizio. <\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl prossimo esempio di codice mostra che gli endpoint definiscono l'indirizzo IP per il database, utilizzando lo stesso nome mongo che ha il servizio.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes utilizzer\u00e0 tutti gli indirizzi IP per trovare gli endpoint, come se fossero normali pod di Kubernetes, quindi ora puoi accedere al database utilizzando una semplice stringa di connessione al nome sopra indicato mongodb:\/\/mongo. Non \u00e8 affatto necessario utilizzare indirizzi IP nel tuo codice.<\/p>\n<p>Se in futuro gli indirizzi IP dovessero cambiare, puoi semplicemente aggiornare gli endpoint con il nuovo indirizzo IP, e le tue applicazioni non dovranno essere modificate in alcun modo.<\/p>\n<p>Se stai utilizzando un database ospitato da un provider esterno, \u00e8 probabile che i proprietari dell'hosting ti abbiano fornito un identificatore di risorsa unificato URI per la connessione. Quindi, se ti \u00e8 stato fornito un indirizzo IP, puoi semplicemente utilizzare il metodo precedente. Questo esempio mostra che ho due database MongoDB ospitati su mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUno di essi \u00e8 il database degli sviluppatori, mentre l'altro \u00e8 il database di produzione. Le stringhe di connessione per questi database sono le seguenti: mLab ti fornisce un URI dinamico e una porta dinamica. Come puoi vedere, sono diversi.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPer astrarre da questo, utilizziamo Kubernetes e ci connettiamo al database degli sviluppatori. Puoi creare un nome di servizio esterno in Kubernetes, che ti fornir\u00e0 un servizio statico che reindirizzer\u00e0 il traffico a un servizio esterno. <\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuesto servizio eseguir\u00e0 un semplice reindirizzamento CNAME a livello di core, riducendo al minimo l'impatto sulle prestazioni. Grazie a questo potrai utilizzare una stringa di connessione pi\u00f9 semplice.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMa poich\u00e9 il nome esterno utilizza il reindirizzamento CNAME, non \u00e8 possibile eseguire la riscrittura delle porte. Pertanto, questa soluzione \u00e8 applicabile solo per le porte statiche e non pu\u00f2 essere utilizzata con porte dinamiche. Tuttavia, il piano gratuito mLab Free Tier fornisce per default all'utente un numero di porta dinamico, e non puoi cambiarlo. Questo significa che per dev e prod hai bisogno di diverse stringhe di connessione. Purtroppo, ci\u00f2 richieder\u00e0 di codificare rigidamente il numero di porta. Come si pu\u00f2 quindi far funzionare la riscrittura delle porte?<\/p>\n<p>Il primo passo \u00e8 ottenere l'indirizzo IP dall'URI. Eseguendo il comando nslookup, hostname o pingando l'URI, \u00e8 possibile ottenere l'indirizzo IP del database. Se il servizio ti restituisce pi\u00f9 indirizzi IP, tutti questi indirizzi possono essere utilizzati nei punti finali dell'oggetto.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 importante ricordare che gli indirizzi IP dell'URI possono cambiare senza preavviso, quindi \u00e8 piuttosto rischioso utilizzarli in prod. Con un indirizzo IP di questo tipo, \u00e8 possibile connettersi a un database remoto senza specificare una porta. In questo modo, il servizio Kubernetes esegue in modo trasparente la riscrittura delle porte.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl mapping, o la correlazione delle risorse esterne con quelle interne, ti consente di utilizzare queste risorse all'interno del cluster in futuro, minimizzando gli sforzi di refactoring. Facilita anche la gestione e offre una comprensione di quali servizi esterni sta utilizzando la tua azienda. <\/p>\n<p>Il seguito arriver\u00e0 molto presto\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=\"Guarda il 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 po' di pubblicit\u00e0 \ud83d\ude42<\/h3>\n<p>\nGrazie per rimanere con noi. Ti piacciono i nostri articoli? Vuoi vedere pi\u00f9 contenuti interessanti? Supportaci effettuando un ordine o raccomandandoci a qualcuno. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS cloud per sviluppatori a partire da $4.99.<\/a><\/noindex>, <b>unica alternativa ai server entry-level, concepita da noi per te:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Tutta la verit\u00e0 sui VPS (KVM) E5-2697 v3 (6 Core) 10GB DDR4 480GB SSD 1Gbps a partire da $19 o come dividere correttamente un server?<\/a><\/noindex> (sono disponibili opzioni con RAID1 e RAID10, fino a 24 core e fino a 40GB DDR4).<\/p>\n<p><b>Dell R730xd a met\u00e0 prezzo nel data center Equinix Tier IV ad Amsterdam?<\/b> Solo da 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 a partire da $199<\/a><\/noindex> nei Paesi Bassi! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 a partire da $99!<\/b><\/b> Leggi di <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Come costruire un'infrastruttura di livello enterprise utilizzando server Dell R730xd E5-2650 v4 del valore di 9000 euro a pochi spiccioli?<\/a><\/noindex><br \/>\n<br \/>Fonte: <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.1.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\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Le migliori pratiche di Kubernetes. Mapping dei servizi esterni | ProHoster","description":"Migliori pratiche Kubernetes.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/82902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}