{"id":82913,"date":"2020-05-26T13:42:32","date_gmt":"2020-05-26T11:42:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate"},"modified":"2020-05-26T13:42:32","modified_gmt":"2020-05-26T11:42:32","slug":"luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","title":{"rendered":"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate","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><\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/4c3f50a0968007bbfa99d167b43d0a5a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUn aspetto importante nel lavoro dei sistemi distribuiti \u00e8 la gestione dei guasti. Kubernetes aiuta in questo, utilizzando controller che monitorano lo stato del tuo sistema e riavviano i servizi che hanno smesso di funzionare. Tuttavia, Kubernetes pu\u00f2 fermare forzatamente le tue applicazioni per garantire la salute complessiva del sistema. In questa serie, esamineremo come aiutare Kubernetes a svolgere il suo lavoro in modo pi\u00f9 efficiente e ridurre il tempo di inattivit\u00e0 delle applicazioni. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Prima dell'implementazione dei contenitori, la maggior parte delle applicazioni funzionava su macchine virtuali o fisiche. Se un'applicazione andava in crash o si bloccava, ci volevano molto tempo per interrompere il compito in esecuzione e ricaricare il programma. Nel peggiore dei casi, a qualcuno toccava risolvere manualmente il problema nella notte, nel momento meno opportuno. Se un compito importante era eseguito da sole 1-2 macchine, tale guasto era del tutto inaccettabile. <br \/>\nPertanto, invece di un riavvio manuale, si \u00e8 iniziato a utilizzare il monitoraggio a livello di processo per il riavvio automatico delle applicazioni in caso di chiusura anomala. Se un programma andava in crash, il processo di monitoraggio acquisiva il codice di uscita e riavviava il server. Con l'emergere di sistemi come Kubernetes, questo tipo di risposta ai guasti \u00e8 stato semplicemente integrato nell'infrastruttura.<\/p>\n<p>Kubernetes utilizza un ciclo di eventi \"osservazione - registrazione delle discrepanze - azione\" per assicurarsi che le risorse rimangano operative durante il passaggio dai contenitori ai nodi stessi.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/fe255d31824d2e570492a882ea7e54c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCi\u00f2 significa che non \u00e8 pi\u00f9 necessario avviare manualmente il monitoraggio dei processi. Se una risorsa non supera il controllo di salute, Kubernetes le fornir\u00e0 automaticamente una sostituzione. Inoltre, Kubernetes fa molto di pi\u00f9 che semplicemente monitorare i guasti delle tue applicazioni. Pu\u00f2 creare pi\u00f9 copie dell'applicazione per funzionare su pi\u00f9 macchine, aggiornare l'applicazione o eseguire simultaneamente diverse versioni della tua applicazione.<br \/>\nEsistono quindi molteplici motivi per cui Kubernetes pu\u00f2 interrompere un contenitore perfettamente funzionante. Ad esempio, se stai aggiornando il tuo deployment, Kubernetes interromper\u00e0 lentamente i vecchi pod, avviando nel contempo quelli nuovi. Se disattivi un nodo, Kubernetes fermer\u00e0 tutti i pod in quel nodo. Infine, se un nodo esaurisce le risorse, Kubernetes disabiliter\u00e0 tutti i pod per liberare quelle risorse.<\/p>\n<p>\u00c8 quindi molto importante che la tua applicazione si spenga con il minimo impatto sugli utenti finali e con il minor tempo di recupero possibile. Ci\u00f2 significa che prima di disattivarsi, deve salvare tutti i dati necessari, chiudere tutte le connessioni di rete, completare eventuali attivit\u00e0 in sospeso e avere il tempo di eseguire altre task urgenti.<\/p>\n<p>In pratica, questo significa che la tua applicazione deve essere in grado di gestire il messaggio SIGTERM \u2013 il segnale di terminazione del processo, che \u00e8 il segnale predefinito per l'utilit\u00e0 kill nei sistemi operativi Unix. Ricevendo questo messaggio, l'applicazione deve disattivarsi.<\/p>\n<p>Una volta che Kubernetes decide di terminare un pod, si verifica una serie di eventi. Analizziamo ogni passaggio che Kubernetes compie nel momento in cui termina il lavoro di un contenitore o di un pod.<\/p>\n<p>Supponiamo di voler chiudere uno dei pod. In quel momento, smetter\u00e0 di ricevere nuovo traffico \u2013 i contenitori in esecuzione nel pod non saranno interessati, ma tutto il nuovo traffico sar\u00e0 bloccato.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/d89c31e39bfdc16e5a8db3b4e22f8dca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsaminiamo il hook preStop \u2014 \u00e8 un comando speciale o una richiesta HTTP che viene inviata ai contenitori nel pod. Se la tua applicazione non si spegne correttamente alla ricezione di SIGTERM, puoi utilizzare preStop per assicurarti una corretta chiusura. <\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/9d45a209daf3b5698266481680b45da2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa maggior parte delle applicazioni, alla ricezione del segnale SIGTERM, si chiudono in modo appropriato, ma se utilizzi codice di terze parti o un sistema che non puoi controllare completamente, il hook preStop \u00e8 un ottimo modo per invocare uno spegnimento elegante senza modificare l'applicazione.<\/p>\n<p>Dopo l'esecuzione di questo hook, Kubernetes invier\u00e0 un segnale SIGTERM ai container nel pod, informandoli che saranno presto disattivati. Ricevendo questo segnale, il tuo codice passer\u00e0 alla fase di disattivazione. Questo processo pu\u00f2 includere la chiusura di qualsiasi connessione a lungo termine, come quella a un database o a un flusso WebSocket, il salvataggio dello stato corrente e simili.<\/p>\n<p>Anche se utilizzi un hook preStop, \u00e8 molto importante controllare cosa sta succedendo con la tua applicazione quando le viene inviato un segnale SIGTERM, come si comporta, affinch\u00e9 eventi o cambiamenti nel funzionamento del sistema, causati dalla disattivazione del pod, non ti colgano di sorpresa.<\/p>\n<p>A questo punto, prima di intraprendere ulteriori azioni, Kubernetes attender\u00e0 per il tempo specificato, chiamato terminationGracePeriodSecond, o periodo di disattivazione corretto alla ricezione del segnale SIGTERM.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/6f74959ff74252bb1ad2dd9c011c177c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPer impostazione predefinita, questo periodo \u00e8 di 30 secondi. \u00c8 importante notare che si svolge in parallelo con l'hook preStop e il segnale SIGTERM. Kubernetes non attender\u00e0 che l'hook preStop e il segnale SIGTERM siano completati: se la tua applicazione termina prima della scadenza del periodo di TerminationGracePeriod, Kubernetes passer\u00e0 immediatamente al passaggio successivo. Pertanto, assicurati che il valore di questo periodo in secondi non sia inferiore al tempo necessario per una corretta disattivazione del pod e, se supera i 30 secondi, aumenta il periodo fino al valore necessario nel YAML. Nell'esempio fornito \u00e8 di 60 secondi.<\/p>\n<p>E infine, l'ultimo passo: se i container continuano a funzionare dopo la scadenza del terminationGracePeriod, invieranno un segnale SIGKILL e saranno forzatamente rimossi. A questo punto, Kubernetes pulir\u00e0 anche tutti gli altri oggetti del pod.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Arresto corretto di Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/cb71079ffd166c955474738e5af6301a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes interrompe il funzionamento dei pod per molte ragioni, quindi assicurati che in ogni caso la tua applicazione venga terminata correttamente per garantire un servizio stabile. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503612\/\">Le migliori pratiche di Kubernetes. Mappatura dei servizi esterni <\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"Z_l_kE1MDTc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/Z_l_kE1MDTc\/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\/503488\/\">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 \u0412\u0430\u0436\u043d\u044b\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0431\u043e\u0435\u0432. Kubernetes \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0435\u0434\u044f\u0442 \u0437\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82913","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-korrektnoe-otklyuchenie-terminate\" \/>\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. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate | 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-korrektnoe-otklyuchenie-terminate\" \/>\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:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:32+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\udd47Migliori pratiche di Kubernetes. Corretto spegnimento Terminate | ProHoster","description":"Migliori pratiche Kubernetes.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","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. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate | 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-korrektnoe-otklyuchenie-terminate","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:32+00:00","article:modified_time":"2020-05-26T11:42:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82913","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:28:37","updated":"2022-09-29 17:02:01","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\/82913","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=82913"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/82913\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/82914"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=82913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=82913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=82913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}