{"id":39249,"date":"2019-10-31T22:28:41","date_gmt":"2019-10-31T19:28:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\/"},"modified":"2019-10-31T22:28:41","modified_gmt":"2019-10-31T19:28:41","slug":"cse-kubernetes-dlya-teh-kto-v-vcloud-e","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","title":{"rendered":"CSE: Kubernetes per chi \u00e8 in vCloud","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"CSE: Kubernetes per chi \u00e8 in vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/075d61be0d23254a37f4ae3267cd99d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Ciao a tutti!<\/b><\/p>\n<p>La nostra piccola squadra \u00e8 cresciuta nel tempo, non recente e sicuramente non inaspettatamente, fino a voler migrare alcuni (e in futuro tutti) i prodotti su Kubernetes. <\/p>\n<p>Le ragioni sono molteplici, ma la nostra storia non riguarda le controversie.<\/p>\n<p>Le opzioni per l'infrastruttura erano limitate. vCloud Director e vCloud Director. Abbiamo scelto quello pi\u00f9 recente e abbiamo deciso di partire. <\/p>\n<p>Sfogliando di nuovo 'The Hard Way', ho rapidamente concluso che uno strumento per automatizzare almeno i processi basici, come il deploy e il sizing, era necessario gi\u00e0 ieri. Un'immersione profonda in Google ha rivelato il prodotto VMware Container Service Extension (CSE) \u2014 un prodotto open source che consente di automatizzare la creazione e il sizing dei cluster k8s per chi usa vCloud.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p>Disclaimer: CSE ha le sue limitazioni, ma era perfetto per i nostri scopi. Inoltre, la soluzione deve essere supportata dal provider cloud, ma poich\u00e9 la parte server \u00e8 anch'essa open-source, richiedetene la presenza al prossimo manager \ud83d\ude42.<\/p><\/blockquote>\n<p>Per iniziare a utilizzarlo, \u00e8 necessario disporre di un account amministratore nell'organizzazione vCloud e di una rete routed previamente creata per il cluster (durante il deploy \u00e8 necessaria l'accessibilit\u00e0 a Internet da questa rete, non dimenticate di configurare il Firewall\/NAT). L'indirizzamento non \u00e8 rilevante. In questo esempio utilizziamo 10.0.240.0\/24.<\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes per chi \u00e8 in vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/1306223d7ffe81e5d2d2cfc1f9476245.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<blockquote><p>Poich\u00e9 sar\u00e0 necessario gestire il cluster dopo la creazione, \u00e8 consigliabile avere un VPN con routing sulla rete creata. Noi utilizziamo un SSL-VPN standard configurato sull'Edge Gateway della nostra organizzazione.<\/p><\/blockquote>\n<p> Dopo di che, \u00e8 necessario installare il client CSE da cui sar\u00e0 gestito il cluster k8s. Nel mio caso, si tratta di un laptop da lavoro e alcuni contenitori ben nascosti che si occupano dell'automazione. <\/p>\n<p>Il client richiede l'installazione di Python versione 3.7.3 o superiore e del modulo <noindex><a rel=\"nofollow\" href=\"http:\/\/vmware.github.io\/vcd-cli\/\">vcd-cli<\/a><\/noindex>, quindi installeremo entrambi.<\/p>\n<pre><code class=\"bash\">pip3 install vcd-cli\n\npip3 install container-service-extension\n<\/code><\/pre>\n<p>\nDopo l'installazione, controlliamo la versione di CSE e otteniamo quanto segue:<\/p>\n<pre><code class=\"plaintext\"># vcd cse version\nError: No such command \"cse\".\n<\/code><\/pre>\n<p>\nInaspettato, ma risolvibile. Si \u00e8 scoperto che CSE deve essere integrato come modulo a vcd-cli.<br \/>\nPer farlo, prima occorre effettuare il login di vcd-cli nella nostra organizzazione:<\/p>\n<pre><code class=\"plaintext\"># vcd login MyCloud.provider.com org-dev admin\nPassword: \nadmin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'\n<\/code><\/pre>\n<p>\nDopodich\u00e9, vcd-cli creer\u00e0 un file di configurazione <i>~\/.vcd-cli\/profiles.yaml<\/i><br \/>\nAlla fine di questo file \u00e8 necessario aggiungere quanto segue:<\/p>\n<pre><code class=\"plaintext\">extensions:\n  - container_service_extension.client.cse\n<\/code><\/pre>\n<p>\nDopo di che, controlliamo di nuovo:<\/p>\n<pre><code class=\"plaintext\"># vcd cse version\nCSE, Container Service Extension for VMware vCloud Director, version 2.5.0\n<\/code><\/pre>\n<p>\nLa fase di installazione del client \u00e8 completata. Proviamo a distribuire il primo cluster.<br \/>\nCSE ha diversi set di parametri, tutti visibili <noindex><a rel=\"nofollow\" href=\"https:\/\/vmware.github.io\/container-service-extension\/CLUSTER_MANAGEMENT.html\">qui.<\/a><\/noindex><\/p>\n<p>Per iniziare, creiamo le chiavi per l'accesso senza password al futuro cluster. Questo \u00e8 un aspetto importante, poich\u00e9 per impostazione predefinita l'accesso tramite password alle nodi sar\u00e0 disattivato e se non si impostano le chiavi, si rischiano molti problemi attraverso le console delle macchine virtuali, che non \u00e8 proprio comodo.<\/p>\n<pre><code class=\"plaintext\"># ssh-keygen\nGenerating public\/private rsa key pair.\nEnter file in which to save the key (\/root\/.ssh\/id_rsa): \nCreated directory '\/root\/.ssh'.\nEnter passphrase (empty for no passphrase): \nEnter same passphrase again: \nYour identification has been saved in \/root\/.ssh\/id_rsa.\nYour public key has been saved in \/root\/.ssh\/id_rsa.pub.\n<\/code><\/pre>\n<p>\nProvamo a eseguire la creazione del cluster:<\/p>\n<pre><code class=\"bash\">vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~\/.ssh\/id_rsa.pub --nodes 3 --enable-nfs<\/code><\/pre>\n<p>\nSe si riceve un errore <i>Error: Session has expired or user not logged in. Please re-login.<\/i> \u2014 effettuiamo di nuovo il login di vcd-cli in vCloud come descritto sopra e riproviamo.<\/p>\n<p>Questa volta tutto va bene e il task per la creazione del cluster \u00e8 stato avviato.<\/p>\n<pre><code class=\"bash\">cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)\n<\/code><\/pre>\n<p>\nCi vorranno circa 20 minuti per completare il task, nel frattempo analizziamo i principali parametri di avvio.<\/p>\n<blockquote><p>&#8212;network \u2014 la rete che abbiamo creato in precedenza.<br \/>\n&#8212;ssh-key \u2014 le chiavi create da noi, che saranno registrate sui nodi del cluster.<br \/>\n&#8212;nodes n \u2014 Numero di nodi Worker del cluster. Ce ne sar\u00e0 sempre uno di Master, questo \u00e8 un limite di CSE.<br \/>\n&#8212;enable-nfs \u2014 crea un nodo aggiuntivo per la condivisione NFS sotto i volumi persistenti. Un'opzione piuttosto marginale, su cui faremo ulteriori migliorie pi\u00f9 tardi.\n<\/p><\/blockquote>\n<p> Nel frattempo, in vCloud possiamo osservare visivamente la creazione del cluster.<br \/>\n<img decoding=\"async\" alt=\"CSE: Kubernetes per chi \u00e8 in vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/8698bfbd94a4c5b01805f128ad8b6479.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUna volta completato il task di creazione del cluster, sar\u00e0 pronto all'uso.<\/p>\n<p>Controlliamo la correttezza del deploy con il comando <i>vcd cse cluster info MyCluster<\/i><\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes per chi \u00e8 in vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/d9ea5b02277fd8c87843c53a9269d485.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDopo di che, dobbiamo ottenere la configurazione del cluster per il suo utilizzo. <i>kubectl<\/i><\/p>\n<pre><code class=\"plaintext\"># vcd cse cluster config MyCluster &gt; .\/.kube\/config\n<\/code><\/pre>\n<p>\nE possiamo verificare lo stato del cluster gi\u00e0 con essa:<\/p>\n<p><img decoding=\"async\" alt=\"CSE: Kubernetes per chi \u00e8 in vCloud\" src=\"\/wp-content\/uploads\/2019\/10\/97a43470588da9d84dae8bedadc9df81.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA questo punto, il cluster pu\u00f2 considerarsi condizionatamente operativo, se non fosse per la questione dei volumi persistenti. Poich\u00e9 siamo in vCloud, non possiamo utilizzare il vSphere Provider. L'opzione <i>&#8212;enable-nfs<\/i> \u00e8 concepita per mitigare questo problema, ma non \u00e8 stato completamente risolto. \u00c8 necessaria una configurazione manuale.<\/p>\n<p>Per iniziare, sul nostro nodo \u00e8 necessario creare un disco Independent separato in vCloud. Questo garantisce che i nostri dati non scompaiano insieme al cluster, nel caso venga rimosso. Inoltre, collegheremo il disco all'NFS. <\/p>\n<pre><code class=\"plaintext\"># vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'\n# vcd vapp attach mycluster nfsd-9604 nfs-shares-1\n<\/code><\/pre>\n<p>\nDopo di che, accediamo via ssh (spero che abbiate davvero creato le chiavi?) al nostro nodo NFS e concludiamo il collegamento del disco:<\/p>\n<pre><code class=\"plaintext\">root@nfsd-9604:~# parted \/dev\/sdb\n(parted) mklabel gpt\nAttenzione: L'etichetta del disco esistente su \/dev\/sdb verr\u00e0 distrutta e tutti i dati su\nquesto disco andranno persi. Vuoi continuare?\nS\u00ec\/No? s\u00ec\n(parted) unit GB\n(parted) mkpart primary 0 100\n(parted) print\nModello: Disco virtuale VMware (scsi)\nDisco \/dev\/sdb: 100GB\nDimensione settori (logica\/fisica): 512B\/512B\nTabella delle partizioni: gpt\nFlags del disco:\n\nNumero  Inizio   Fine    Dimensione   File system  Nome     Flags\n 1      0.00GB  100GB  100GB               primaria\n\n(parted) quit\nroot@nfsd-9604:~# mkfs -t ext4 \/dev\/sdb1\nCreazione del filesystem con 24413696 blocchi da 4k e 6111232 inodes\nUUID del filesystem: 8622c0f5-4044-4ebf-95a5-0372256b34f0\nBackup del superblocco memorizzati sui blocchi:\n\t32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,\n\t4096000, 7962624, 11239424, 20480000, 23887872\n\nAllocazione delle tabelle di gruppo: completata\nScrittura delle tabelle degli inode: completata\nCreazione del journal (32768 blocchi): completata\nScrittura del superblocco e informazioni di accounting del filesystem: completata\n<\/code><\/pre>\n<p>\nCreiamo una directory per i dati e montiamo l\u00ec la nuova partizione:<\/p>\n<pre><code class=\"plaintext\">mkdir \/export\necho '\/dev\/sdb1  \/export   ext4  defaults   0 0' &gt;&gt; \/etc\/fstab\nmount -a\n<\/code><\/pre>\n<p>\nCreeremo cinque partizioni di test e le condivideremo per il cluster:<\/p>\n<pre><code class=\"bash\">&gt;cd \/export\n&gt;mkdir vol1 vol2 vol3 vol4 vol5\n&gt;vi \/etc\/exports\n#Aggiungiamo questo alla fine del file\n\/export\/vol1 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol2 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol3 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol4 *(rw,sync,no_root_squash,no_subtree_check)\n\/export\/vol5 *(rw,sync,no_root_squash,no_subtree_check)\n#:wq! ;)\n#Successivamente - esportiamo le partizioni\n&gt;exportfs -r\n<\/code><\/pre>\n<p>\nDopo tutta questa magia, possiamo creare un PV e un PVC nel nostro cluster in questo modo:<br \/>\nPV:<\/p>\n<pre><code class=\"bash\">cat &lt;&lt;EOF | kubectl apply -f -\napiVersion: v1\nkind: PersistentVolume\nmetadata:\n  name: nfs-vol1\nspec:\n  capacity:\n    storage: 10Gi\n  accessModes:\n    - ReadWriteMany\n  nfs:\n    # Stessa IP dell&#039;host NFS a cui ci siamo collegati via ssh in precedenza.\n    server: 10.150.200.22\n    path: &quot;\/export\/vol1&quot;\nEOF\n<\/code><\/pre>\n<p>\nPVC:<\/p>\n<pre><code class=\"bash\">cat &lt;&lt;EOF | kubectl apply -f -\napiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: nfs-pvc\nspec:\n  accessModes:\n    - ReadWriteMany\n  storageClassName: &quot;&quot;\n  resources:\n    requests:\n      storage: 10Gi\nEOF\n<\/code><\/pre>\n<p>\nCon questo si conclude la storia della creazione di un cluster e inizia la storia del suo ciclo di vita. Come bonus, ecco due comandi utili del CSE che possono risparmiare risorse a volte:<\/p>\n<pre><code class=\"bash\">#\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043e 8 \u0432\u043e\u0440\u043a\u0435\u0440 \u043d\u043e\u0434\n&gt;cse cluster resize MyCluster --network k8s_cluster_net --nodes 8\n\n#\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u043e\u0434\u044b \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0441 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c\n&gt;vcd cse node delete MyCluster node-1a2v node-6685 --yes\n<\/code><\/pre>\n<p>\nGrazie a tutti per il tempo dedicato, se avete domande - chiedete nei commenti.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/472752\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u0438 \u0443\u0436 \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e, \u0434\u043e\u0440\u043e\u0441\u043b\u0430 \u0434\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 (\u0430 \u0432 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435 \u0438 \u0432\u0441\u0435\u0445) \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0432 Kubernetes. \u041f\u0440\u0438\u0447\u0438\u043d \u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e, \u043d\u043e \u043d\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u043f\u0440\u043e \u0445\u043e\u043b\u0438\u0432\u0430\u0440. \u0418\u0437 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u044b \u0432\u044b\u0431\u043e\u0440 \u0443 \u043d\u0430\u0441 \u0431\u044b\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439. vCloud Director \u0438 vCloud Director. \u0412\u044b\u0431\u0440\u0430\u043b\u0438 \u0442\u043e\u0442, \u0447\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29455,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39249","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\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430.\" \/>\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\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\" \/>\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\udd47CSE: Kubernetes \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0432 vCloud-\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e\" \/>\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=\"2019-10-31T19:28:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:28:41+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\udd47CSE: Kubernetes per chi \u00e8 in vCloud | ProHoster","description":"Ciao a tutti! \u00c8 successo che il nostro.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","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\udd47CSE: Kubernetes \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0432 vCloud-\u0435 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0422\u0430\u043a \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/cse-kubernetes-dlya-teh-kto-v-vcloud-e","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":"2019-10-31T19:28:41+00:00","article:modified_time":"2019-10-31T19:28:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39249","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":"2026-01-24 01:28:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:53:37","updated":"2026-01-24 01:28:19","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\/39249","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=39249"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/39249\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/29455"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=39249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=39249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=39249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}