{"id":75425,"date":"2020-03-26T07:42:30","date_gmt":"2020-03-26T05:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes"},"modified":"2020-03-26T07:42:30","modified_gmt":"2020-03-26T05:42:30","slug":"luchshie-10-hitrostej-i-sovetov-po-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes","title":{"rendered":"I 10 migliori trucchi e consigli su Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"I 10 migliori trucchi e consigli su Kubernetes\" src=\"\/wp-content\/uploads\/2020\/03\/4e4a268e9cee6b8b10d283805227b5ac.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn rete ci sono molte risorse informative, ma a volte i consigli pi\u00f9 semplici si rivelano i pi\u00f9 preziosi. Il team <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/containers\/\">Kubernetes aaS di Mail.ru<\/a><\/noindex> ha tradotto <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/faun\/top-10-kubernetes-tips-and-tricks-d07d38700a70\">una raccolta di dieci trucchi e suggerimenti<\/a><\/noindex>, raccolti dall'autore dell'articolo dopo un anno di lavoro con Kubernetes. I consigli non sono ordinati per importanza, ma pensiamo che ognuno possa trovare qualcosa di utile per s\u00e9.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Il comando pi\u00f9 semplice per lavorare con Kubernetes<\/h2>\n<p>\nPer cominciare, probabilmente l'azione pi\u00f9 semplice e utile nel lavoro con Kubernetes \u00e8 che il seguente comando abilita il completamento automatico dei comandi <code>kubectl<\/code> nella shell bash:<\/p>\n<pre><code class=\"bash\">echo \"source &gt; ~\/ .bashrc\n<\/code><\/pre>\n<p>\nIl completamento automatico <code>kubectl<\/code> sar\u00e0 registrato nel file .bashrc e si attiver\u00e0 automaticamente ogni volta che si avvia la shell. Questo accelera la digitazione di comandi e parametri lunghi, come <code>all-namespaces<\/code>. Maggiori dettagli nel <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl\/#kubectl-autocompletion-0\">la documentazione di Kubernetes per bash<\/a><\/noindex>.<\/p>\n<h2>I limiti predefiniti di memoria e CPU nello spazio dei nomi<\/h2>\n<p>\nSe un'applicazione \u00e8 scritta in modo errato, ad esempio, apre una nuova connessione al database ogni secondo senza mai chiuderla, si verifica una perdita di memoria nel cluster. E se per l'applicazione non sono impostati limiti di memoria al momento del deploy, ci\u00f2 potrebbe portare a un guasto del nodo.<\/p>\n<p>Per prevenire ci\u00f2, Kubernetes consente di impostare limiti predefiniti per ogni spazio dei nomi. Questi vengono definiti in un file yaml per un determinato spazio dei nomi. Ecco un esempio di tale file:<\/p>\n<pre><code class=\"go\">apiVersion: v1\nkind: LimitRange\nmetadata:\n  name: mem-limit-range\nspec:\n  limits:\n  - default:\n      memory: 512Mi\n    defaultRequest:\n      memory: 256Mi\n    type: Container\n<\/code><\/pre>\n<p>\nCrea un file yaml di questo tipo e applicalo a qualsiasi spazio dei nomi. Ad esempio, allo spazio dei nomi <code>limit-example<\/code>. Ora, per qualsiasi contenitore distribuito in questo spazio dei nomi, si applicher\u00e0 un limite di 512Mi, a meno che non venga impostato un altro limite individuale per quel contenitore.<\/p>\n<h2>Pulizia della spazzatura nelle vecchie versioni di Kubernetes<\/h2>\n<p>\nKubelet inizia automaticamente la pulizia quando <i>var\/lib\/docker<\/i> occupa il 90% dello spazio disco disponibile. Questo \u00e8 positivo, tuttavia, fino alla versione 1.7 di Kubernetes non c'era un limite predefinito sul numero di descrittori di indice inode (inodes) utilizzati, che corrispondono al numero di file nel file system.<\/p>\n<p>Potenzialmente, il tuo contenitore <i>var\/lib\/docker<\/i> pu\u00f2 utilizzare solo il 50% dello spazio disco, ma gli inode possono finire, causando problemi nel funzionamento dei worker.<\/p>\n<p>Nelle vecchie versioni di kubelet dalla 1.4 alla 1.6 \u00e8 necessario aggiungere il seguente flag:<\/p>\n<pre><code class=\"go\">--eviction-hard\n=memory.available&lt;100Mi,nodefs.available&lt;10%,nodefs.inodesFree&lt;5%\n<\/code><\/pre>\n<p>\nNella versione 1.7 e nelle versioni successive, questo flag \u00e8 impostato di default. Tuttavia, le versioni precedenti non controllano il limite degli inode.<\/p>\n<h2>Minikube\u2026 piccolo ma potente Kubernetes locale<\/h2>\n<p>\nMinikube \u00e8 il modo pi\u00f9 semplice per avviare un cluster Kubernetes locale. Si avvia con un semplice comando:<\/p>\n<pre><code class=\"go\">minikube start\n<\/code><\/pre>\n<p>\nDi conseguenza, eseguendo questo comando, avrai un vero cluster Kubernetes sul tuo computer.<\/p>\n<p><img decoding=\"async\" alt=\"I 10 migliori trucchi e consigli su Kubernetes\" src=\"\/wp-content\/uploads\/2020\/03\/a27a11ddb35992fbb2835851633eb9c7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@sindhujacynixit\/what-is-the-kubernetes-cluster-de2a33e6572\"><i>Fonte dell'illustrazione<\/i><\/a><\/noindex><\/p>\n<p>Il trucco \u00e8 come costruire un'applicazione e avviarla localmente in questo cluster. Se non vengono fornite indicazioni specifiche, l'immagine Docker verr\u00e0 costruita sul tuo computer, e non nel cluster.<\/p>\n<p>Per costringere Docker a inviare l'immagine al cluster Kubernetes locale, si usa il seguente comando:<\/p>\n<pre><code class=\"go\">eval $(minikube docker-env)\n<\/code><\/pre>\n<p>\nOra possiamo costruire applicazioni sul cluster Kubernetes locale.<\/p>\n<h2>Non concedere l'accesso a kubectl a chiunque<\/h2>\n<p>\nSembra ovvio, ma se pi\u00f9 team utilizzano un unico cluster per le loro applicazioni (ed \u00e8 questo il motivo per cui \u00e8 stato creato Kubernetes), non \u00e8 opportuno concedere l'accesso a tutti indiscriminatamente. <code>kubectl<\/code>. \u00c8 meglio separare i team, assegnando a ciascuno il proprio spazio dei nomi e limitando l'accesso mediante politiche RBAC.<\/p>\n<p>Si pu\u00f2 complicare la situazione specificando per ogni pod i permessi di accesso, lettura, creazione, eliminazione e altre operazioni. Ma la cosa pi\u00f9 importante \u00e8 limitare l'accesso ai segreti, consentendolo solo agli amministratori. In questo modo distinguiamo tra chi pu\u00f2 amministrare il cluster e chi pu\u00f2 semplicemente essere distribuito al suo interno.<\/p>\n<h2>Gestisci i budget dei pod<\/h2>\n<p>\nCome garantire l'assenza di tempi di inattivit\u00e0 per l'applicazione in un cluster Kubernetes? PodDisruptionBudget e ancora PodDisruptionBudget.<\/p>\n<p>I cluster vengono aggiornati periodicamente e i nodi vengono svuotati. Nulla rimane fermo, questa \u00e8 la realt\u00e0. In ogni deployment con pi\u00f9 di un'istanza \u00e8 fondamentale includere il PDB (PodDisruptionBudget). Viene creato in un semplice file yaml, applicato al cluster. L'ambito di applicazione di un PDB specifico \u00e8 determinato dai selettori di etichette.<\/p>\n<p><strong>Nota:<\/strong> Il budget del PDB viene considerato solo in caso di violazione del budget reversibile (<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/disruptions\/#voluntary-and-involuntary-disruptions\">voluntary disruption<\/a><\/noindex>). In situazioni come guasti hardware, il PDB non entrer\u00e0 in azione.<\/p>\n<p><strong>Esempio di PDB:<\/strong><\/p>\n<pre><code class=\"go\">apiVersion: policy\/v1beta1\nkind: PodDisruptionBudget\nmetadata:\n  name: app-a-pdb\nspec:\n  minAvailable: 2\n  selector:\n      matchLabels:\n        app: app-a\n<\/code><\/pre>\n<p>\nI due parametri principali sono <code>matchLabels<\/code> e <code>minAvailable<\/code>. Nel primo parametro si specifica per quali applicazioni si applica il budget. Ad esempio, se ho dei deploy con etichette <code>app: app-a<\/code> e <code>app: app-b<\/code>, questo PDB verr\u00e0 applicato solo al primo.<\/p>\n<p>Caratteristica <code>minAvailable<\/code> considerato durante lo svuotamento (pulizia) del nodo. Ad esempio, nel nostro caso, durante lo svuotamento vengono espulsi tutti gli istanze <code>app: app-a<\/code>, tranne due.<\/p>\n<p>Questo consente di controllare quanti esemplari dell'applicazione devono essere in esecuzione in ogni momento.<\/p>\n<h2>Monitoraggio della salute dell'applicazione<\/h2>\n<p>\nQuesto monitoraggio pu\u00f2 essere effettuato in due modi: tramite probe Readiness o Liveness.<\/p>\n<p>La prima probe (readiness) determina se il container \u00e8 pronto a ricevere traffico.<\/p>\n<p>La seconda (liveness) indica se il container \u00e8 operativo o se deve essere riavviato.<\/p>\n<p>Le relative configurazioni vengono semplicemente aggiunte nel file yaml per il deployment. L\u00ec \u00e8 possibile specificare timeout, tempi di attesa e numero di ripetizioni delle probe. Maggiori dettagli si trovano nella <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-startup-probes\/\">documentazione di Kubernetes<\/a><\/noindex>.<\/p>\n<h2>Etichette ovunque<\/h2>\n<p>\nLe etichette sono uno dei concetti fondamentali in Kubernetes. Permettono agli oggetti di collegarsi liberamente tra loro e di effettuare richieste basate sulle etichette. In Kubernetes, \u00e8 persino possibile accedere al client e monitorare gli eventi in base a etichette specifiche.<\/p>\n<p>Con le etichette si pu\u00f2 fare praticamente tutto, ma un buon esempio \u00e8 la creazione di pi\u00f9 ambienti per eseguire programmi in un unico cluster.<\/p>\n<p>Supponiamo che tu stia utilizzando lo stesso cluster per <code>dev<\/code> e <code>qa<\/code>. Ci\u00f2 significa che potresti avere un'applicazione <code>app-a<\/code>, che funziona simultaneamente in entrambi gli ambienti <code>qa<\/code> e <code>dev<\/code>. In questo caso, possiamo accedere separatamente all'istanza dell'applicazione in un ambiente specifico, specificando il parametro corrispondente <code>environment<\/code>. Ad esempio, <code>app: app-a<\/code> e <code>environment: dev<\/code> per un ambiente e <code>app: app-a<\/code> e <code>environment: qa<\/code> per l'altro.<\/p>\n<p>Questo consente di accedere a entrambe le istanze dell'applicazione, ad esempio, per effettuare test in contemporanea.<\/p>\n<h2>Metti in ordine<\/h2>\n<p>\nKubernetes \u00e8 un sistema molto potente, ma qualsiasi sistema pu\u00f2 finire per impantanarsi in un gran numero di processi. Kubelet avvia tutti i processi e i controlli che hai specificato, oltre ai propri.<\/p>\n<p>Certo, un singolo servizio non rallenter\u00e0 il sistema, e Kubernetes \u00e8 progettato fin dall'inizio per la scalabilit\u00e0. Ma se invece di un servizio ne appaiono un milione, kubelet inizia a faticare.<\/p>\n<p>Se per qualche motivo elimini un deployment (container, immagine, qualsiasi cosa), assicurati solo di fare una pulizia completa.<\/p>\n<h2>Incontra Go<\/h2>\n<p>\nIl consiglio principale lo abbiamo riservato per ultimo. Studia il linguaggio di programmazione Go.<\/p>\n<p>Kubernetes \u00e8 sviluppato in Go, tutte le estensioni sono scritte in Go, e la libreria client ufficialmente supportata \u00e8 client-go.<\/p>\n<p>Pu\u00f2 essere utilizzata per cose diverse e interessanti. Ad esempio, per estendere il sistema Kubernetes a proprio piacimento. Quindi, puoi usare programmi personalizzati per raccogliere dati, distribuire applicazioni o semplicemente pulire i container.<\/p>\n<p>Studiare il linguaggio di programmazione Go e padroneggiare client-go \u00e8 senza dubbio il consiglio pi\u00f9 importante per i nuovi utenti di Kubernetes.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/\"><i>Tradotto con il supporto di Mail.ru Cloud Solutions<\/i><\/a><\/noindex><\/p>\n<p><strong>Cosa leggere ancora<\/strong>:<\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/484344\/\">Tre livelli di autoscaling in Kubernetes e come utilizzarli in modo efficace<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/484334\/\">Nodi di lavoro Kubernetes: tanti piccoli o pochi grandi<\/a><\/noindex>?<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/25-poleznyh-instrumentov-kubernetes-razvertyvanie-i-upravlenie\">25 strumenti utili per distribuire e gestire Kubernetes<\/a><\/noindex>.<\/li>\n<\/ol>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/493772\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u0441\u0430\u043c\u044b\u043c\u0438 \u0446\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0441\u043e\u0432\u0435\u0442\u044b. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 Kubernetes aaS \u043e\u0442 Mail.ru \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u0438 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0430 \u043f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes. \u0421\u043e\u0432\u0435\u0442\u044b \u043d\u0435 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0434\u0443\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u0430\u0439\u0434\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0434\u043b\u044f \u0441\u0435\u0431\u044f. \u0421\u0430\u043c\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Kubernetes [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":75426,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-75425","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.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e.\" \/>\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-10-hitrostej-i-sovetov-po-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.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 10 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes\" \/>\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-03-26T05:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-26T05:42:30+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\udd47I 10 migliori trucchi e consigli su Kubernetes | ProHoster","description":"In rete c'\u00e8 molta letteratura di riferimento, ma.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes","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 10 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e Kubernetes | ProHoster","og:description":"\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u043d\u043e.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/luchshie-10-hitrostej-i-sovetov-po-kubernetes","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-03-26T05:42:30+00:00","article:modified_time":"2020-03-26T05:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"75425","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 17:56:30","updated":"2022-10-01 20:34:03","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\/75425","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=75425"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/75425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/75426"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=75425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=75425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=75425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}