{"id":82215,"date":"2020-05-20T13:42:25","date_gmt":"2020-05-20T11:42:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness"},"modified":"2020-05-20T13:42:25","modified_gmt":"2020-05-20T11:42:25","slug":"luchshie-praktiki-kubernetes-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness","title":{"rendered":"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness","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><\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/d8defd99b076c9631bb508d4d8f26383.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGestire i sistemi distribuiti pu\u00f2 essere difficile a causa della presenza di numerosi elementi variabili e modificabili, tutti i quali devono funzionare correttamente per garantire la funzionalit\u00e0 del sistema. Se uno degli elementi fallisce, il sistema deve rilevarlo, aggirarlo e correggerlo, e tutto ci\u00f2 deve avvenire automaticamente. In questa serie di \"Kubernetes Best Practices\", scopriremo come configurare i test di Readiness e Liveness per verificare la vitalit\u00e0 di un cluster Kubernetes.<\/p>\n<p>Il controllo di salute Health Check \u00e8 un modo semplice per informare il sistema se l'istanza della tua applicazione sta funzionando o meno. Se l'istanza della tua applicazione non \u00e8 attiva, altri servizi non devono accedervi o inviare richieste. Invece, la richiesta deve essere inviata a un'altra istanza dell'applicazione che \u00e8 gi\u00e0 attiva o che verr\u00e0 avviata in seguito. Inoltre, il sistema deve restituire la funzionalit\u00e0 persa alla tua applicazione.<\/p>\n<p>Per impostazione predefinita, Kubernetes inizier\u00e0 a inviare traffico al pod quando tutti i contenitori all'interno di esso sono attivi e riavvier\u00e0 i contenitori quando si arrestano in modo anomalo. All\u2019inizio, questo comportamento predefinito pu\u00f2 essere sufficientemente buono, tuttavia puoi migliorare l'affidabilit\u00e0 del dispiegamento del tuo prodotto utilizzando controlli di salute personalizzati.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/c858d81e7c2dcd1ea7deb598f3f152c2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFortunatamente, Kubernetes consente di eseguire questa operazione in modo piuttosto semplice, quindi non ci sono scuse per ignorare tali controlli. Kubernetes offre due tipi di test di Health Check, ed \u00e8 importante comprendere le differenze nell'applicazione di ciascuno di essi.<\/p>\n<p>Il test di prontezza Readiness serve a informare Kubernetes se la tua applicazione \u00e8 pronta a gestire il traffico. Prima di permettere al servizio di inviare traffico al pod, Kubernetes deve assicurarsi che il controllo di prontezza sia stato superato con successo. Se il test di Readiness fallisce, Kubernetes smetter\u00e0 di inviare traffico al pod fino a quando il test non avr\u00e0 esito positivo. <\/p>\n<p>Il test di vitalit\u00e0 Liveness informa Kubernetes se la tua applicazione \u00e8 viva o morta. Nel primo caso, Kubernetes la lascer\u00e0 in pace; nel secondo, rimuover\u00e0 il pod morto e lo sostituir\u00e0 con uno nuovo. <\/p>\n<p>Immaginiamo uno scenario in cui la tua applicazione richiede 1 minuto per avviarsi e caricarsi. Il tuo servizio non inizier\u00e0 a funzionare finch\u00e9 l'applicazione non \u00e8 completamente avviata, anche se il flusso di lavoro \u00e8 gi\u00e0 iniziato. Avrai anche problemi se desideri scalare questa distribuzione a pi\u00f9 istanze, poich\u00e9 tali istanze non dovrebbero ricevere traffico fino a quando non sono completamente pronte. Tuttavia, di default Kubernetes inizier\u00e0 a instradare il traffico non appena i processi all'interno del contenitore iniziano.<\/p>\n<p>Utilizzando il test di prontezza Readiness, Kubernetes aspetter\u00e0 fino a quando l'applicazione non sar\u00e0 completamente avviata e solo dopo consentir\u00e0 al servizio di inviare traffico alla nuova istanza.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/511700440675af4be2343064bcc36271.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nImmaginiamo un altro scenario in cui l'applicazione si blocca per un lungo periodo, smettendo di gestire le richieste. Poich\u00e9 il processo continua a essere in esecuzione, per impostazione predefinita Kubernetes considerer\u00e0 che tutto sia a posto e continuer\u00e0 a inviare richieste al pod non funzionante. Ma utilizzando Liveness, Kubernetes rilever\u00e0 che l'applicazione non sta pi\u00f9 gestendo le richieste e di default riavvier\u00e0 il pod non funzionante.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/8c242cad507f30644011bac15c3d0755.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsaminiamo i metodi per testare la prontezza e la vitalit\u00e0. Esistono tre modi per testare: HTTP, Command e TCP. Puoi utilizzare uno qualsiasi di questi metodi per il controllo. Il modo pi\u00f9 comune di test utente \u00e8 il probe HTTP.<\/p>\n<p>Anche se la tua applicazione non \u00e8 un server HTTP, puoi comunque creare un leggero server HTTP all'interno della tua applicazione per interagire con il test di Liveness. Dopo di che, Kubernetes inizier\u00e0 a pingare il pod, e se la risposta HTTP rientra nell'intervallo di 200 o 300 ms, significa che il pod \u00e8 \"sano\". In caso contrario, il modulo verr\u00e0 contrassegnato come \"malato\".<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/6b59ba42b469b7a8219cf353306bdfd6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPer i test tramite Command, Kubernetes esegue un comando all'interno del tuo contenitore. Se il comando restituisce un codice di uscita zero, il contenitore sar\u00e0 contrassegnato come sano; in caso contrario, se si ottiene un codice di uscita da 1 a 255, il contenitore sar\u00e0 segnalato come \"malato\". Questo metodo di test \u00e8 utile se non puoi o non vuoi eseguire un server HTTP, ma sei in grado di eseguire un comando che verificher\u00e0 la \"salute\" della tua applicazione.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/5cc47091209c4d89cfb10598a87f503d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'ultimo meccanismo di verifica \u00e8 il test TCP. Kubernetes tenter\u00e0 di stabilire una connessione TCP sulla porta specificata. Se ci riesce, il contenitore viene considerato sano, altrimenti viene giudicato non attivo. Questo metodo pu\u00f2 rivelarsi utile se si utilizza uno script in cui il test tramite richiesta HTTP o l'esecuzione di comandi non funziona molto bene. Ad esempio, i principali servizi per la verifica tramite TCP sono gRPC o FTP.<\/p>\n<p><img decoding=\"async\" alt=\"Le migliori pratiche di Kubernetes. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness\" src=\"\/wp-content\/uploads\/2020\/05\/09a1ca64303b7a19ee0141f955b4a749.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI test possono essere configurati in diversi modi con vari parametri. Puoi specificare con quale frequenza devono essere eseguiti, quali sono i valori soglia per il successo e il fallimento, e per quanto tempo attendere risposte. Informazioni pi\u00f9 dettagliate sono disponibili nella documentazione sui test di Readiness e Liveness. Tuttavia, c'\u00e8 un punto molto importante nella configurazione del test di Liveness: l'installazione iniziale del ritardo di test initialDelaySeconds. Come ho menzionato, un fallimento in questo test porter\u00e0 al riavvio del modulo. Pertanto, devi assicurarti che il test non inizi finch\u00e9 l'applicazione non \u00e8 pronta per funzionare, altrimenti inizier\u00e0 a riavviarsi ciclicamente. Ti consiglio di utilizzare il tempo di avvio P99 o il tempo medio di avvio dell'applicazione dal buffer. Non dimenticare di regolare questo valore man mano che il tempo di avvio della tua applicazione diventa pi\u00f9 veloce o pi\u00f9 lento.<\/p>\n<p>La maggior parte degli esperti confermer\u00e0 che i controlli di salute sono test essenziali per qualsiasi sistema distribuito, e Kubernetes non fa eccezione. Utilizzare il controllo \"salute\" dei servizi garantisce un funzionamento affidabile e senza interruzioni di Kubernetes, senza costituire alcuna difficolt\u00e0 per gli utenti. <\/p>\n<p>Il seguito arriver\u00e0 molto presto\u2026<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"mxEvAPQRwhw\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/mxEvAPQRwhw\/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\/502430\/\">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 \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0431\u044b\u0432\u0430\u0435\u0442 \u0442\u0440\u0443\u0434\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u043d\u0438\u0445 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0432\u0438\u0436\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u0438 \u0432\u0441\u0435 \u043e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0415\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432\u044b\u0439\u0434\u0435\u0442 \u0438\u0437 \u0441\u0442\u0440\u043e\u044f, \u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0435\u0433\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c, \u043e\u0431\u043e\u0439\u0442\u0438 \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82216,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82215","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-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness\" \/>\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. \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 | 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-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness\" \/>\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-20T11:42:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-20T11:42:25+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. Controllo della vitalit\u00e0 di Kubernetes tramite test di Readiness e Liveness | ProHoster","description":"Migliori pratiche Kubernetes.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness","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. \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 | 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-proverka-zhiznesposobnosti-kubernetes-s-pomoshhyu-testov-readiness-i-liveness","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-20T11:42:25+00:00","article:modified_time":"2020-05-20T11:42:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82215","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:42:27","updated":"2022-09-29 19:26:23","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\/82215","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=82215"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/82215\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/82216"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=82215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=82215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=82215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}