{"id":81130,"date":"2020-05-11T01:42:39","date_gmt":"2020-05-10T23:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo"},"modified":"2020-05-11T01:42:39","modified_gmt":"2020-05-10T23:42:39","slug":"kubernetes-open-source-protiv-vendorskogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","title":{"rendered":"Kubernetes: open source contro vendor lock-in","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Ciao, mi chiamo Dmitrij Krasnov. Da oltre cinque anni mi occupo dell'amministrazione di cluster Kubernetes e della costruzione di architetture microservizi complesse. All'inizio di quest'anno abbiamo lanciato un servizio di gestione dei cluster Kubernetes basato su Containerum. Approfittando dell'occasione, vorrei spiegare che cos'\u00e8 Kubernetes e in cosa differisce l'integrazione con il fornitore rispetto all'open source.<\/b><\/p>\n<p>Per prima cosa, che cos'\u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">Kubernetes<\/a><\/noindex>? \u00c8 un sistema per gestire container su un gran numero di host. In greco, tra l'altro, significa 'pilota' o 'helmsman'. Inizialmente sviluppato da Google, \u00e8 stato poi ceduto come contributo tecnologico alla Cloud Native Computing Foundation, un'organizzazione non profit internazionale che riunisce i principali sviluppatori mondiali, utenti finali e fornitori di tecnologie per container. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source contro vendor lock-in\" src=\"\/wp-content\/uploads\/2020\/05\/7cbe773adf691ad29c4aaa7a2c8f0461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Gestire un gran numero di container <\/h3>\n<p>\nOra esaminiamo che cosa siano effettivamente questi container. Sono app che contengono tutto il loro ambiente \u2013 principalmente, le librerie di cui l'app ha bisogno per funzionare. Tutto questo \u00e8 confezionato in archivi e presentato come un'immagine, che pu\u00f2 essere eseguita indipendentemente dal sistema operativo, testata e non solo. Ma c'\u00e8 un problema: gestire container su un gran numero di host \u00e8 molto difficile. Ecco perch\u00e9 \u00e8 stato creato Kubernetes. <\/p>\n<p>L'immagine del container rappresenta un'app pi\u00f9 le sue dipendenze. L'app, le sue dipendenze e l'immagine del file system OS sono distribuiti in diverse parti dell'immagine, chiamate layer. I layer possono essere riutilizzati per diversi container. Ad esempio, in tutta l'azienda si pu\u00f2 utilizzare un layer di base di Ubuntu. Quando i container vengono avviati, non c'\u00e8 bisogno di conservare sull'host molte copie dello stesso layer di base. Questo consente di ottimizzare lo storage e la consegna delle immagini.<\/p>\n<p>Quando vogliamo avviare un'applicazione da un contenitore, i layer necessari si sovrappongono per formare un file system overlay. Sopra si sovrappone un layer di scrittura, che viene eliminato al momento dell'arresto del contenitore. Questo garantisce che all'avvio del contenitore l'applicazione abbia sempre lo stesso ambiente, che non pu\u00f2 essere modificato. Ci\u00f2 garantisce la riproducibilit\u00e0 dell'ambiente su diversi sistemi operativi host. Che sia Ubuntu o CentOS, l'ambiente sar\u00e0 sempre lo stesso. Inoltre, il contenitore \u00e8 isolato dall'host tramite meccanismi incorporati nel kernel di Linux. Le applicazioni nel contenitore non vedono i file, i processi dell'host o dei contenitori vicini. Tale isolamento delle applicazioni rispetto al sistema operativo host fornisce un ulteriore strato di sicurezza. <\/p>\n<p>Per gestire i contenitori sull'host ci sono molti strumenti. Il pi\u00f9 popolare di essi \u00e8 Docker. Consente di garantire un ciclo di vita completo per il lavoro con i contenitori. Tuttavia, lavora solo su un singolo host. Quando \u00e8 necessario gestire contenitori su pi\u00f9 host, Docker pu\u00f2 trasformare la vita degli ingegneri in un incubo. \u00c8 per questo che \u00e8 stato creato Kubernetes.<\/p>\n<p>La richiesta di Kubernetes \u00e8 proprio dovuta alla possibilit\u00e0 di gestire gruppi di contenitori su pi\u00f9 host come un'unica entit\u00e0. La popolarit\u00e0 del sistema \u00e8 garantita dalla possibilit\u00e0 di costruire DevOps o Sviluppo Operativo, nei quali Kubernetes viene utilizzato per avviare i processi di questo stesso DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source contro vendor lock-in\" src=\"\/wp-content\/uploads\/2020\/05\/40f253f4445595376231bb384253763d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 1. Immagine schematica del principio di funzionamento di Kubernetes<\/i><\/p>\n<h3>Automazione completa<\/h3>\n<p>\nDevOps, in pratica, rappresenta l'automazione del processo di sviluppo. In parole povere, gli sviluppatori scrivono il codice, che viene caricato nel repository. Successivamente, questo codice pu\u00f2 essere automaticamente assemblato immediatamente in un contenitore con tutte le librerie, testato e \"rilasciato\" alla fase successiva - Staging, e poi subito in produzione.<\/p>\n<p>Insieme a Kubernetes, DevOps permette di automatizzare questo processo in modo che si svolga praticamente senza l'intervento degli sviluppatori stessi. Questo accelera notevolmente la compilazione, poich\u00e9 lo sviluppatore non deve preoccuparsi di farlo sul proprio computer: scrive semplicemente un pezzo di codice, lo carica nel repository e poi viene avviato un pipeline che pu\u00f2 includere il processo di compilazione, testing e distribuzione. E cos\u00ec avviene per ogni commit, quindi il testing \u00e8 continuo.<\/p>\n<p>Inoltre, l'uso dei container consente di essere certi che tutto l'ambiente di questo programma andr\u00e0 in produzione proprio nella forma in cui \u00e8 stato testato. In altre parole, non ci saranno problemi del tipo \"in test c'erano certe versioni, in produzione - altre, e una volta installato \u2013 tutto \u00e8 andato in crash\u201d. Poich\u00e9 oggi abbiamo una tendenza verso l'architettura a microservizi, dove invece di una grande applicazione ci sono centinaia di piccole, amministrarle manualmente richiederebbe una grande quantit\u00e0 di personale. Ecco perch\u00e9 utilizziamo Kubernetes.<\/p>\n<p><b><\/p>\n<h3>Vantaggi, vantaggi, vantaggi<\/h3>\n<p><\/b><br \/>\nParlando dei vantaggi di Kubernetes come piattaforma, ha notevoli benefici in termini di gestione dell'architettura a microservizi. <\/p>\n<ul>\n<li> <b>Gestione di molteplici repliche.<\/b> La cosa pi\u00f9 importante \u00e8 la gestione dei container su molteplici host. E ci\u00f2 che \u00e8 pi\u00f9 rilevante \u00e8 la gestione di molteplici repliche delle applicazioni nei container come un'unica entit\u00e0. Grazie a questo, gli ingegneri non devono preoccuparsi di ogni singolo container. Se uno dei container si arresta, Kubernetes lo rilever\u00e0 e lo riavvier\u00e0 automaticamente. <\/li>\n<li> <b>Rete di cluster.<\/b> Kubernetes ha anche una cosiddetta rete di cluster con uno spazio di indirizzamento proprio. Grazie a questo, ogni pod ha il proprio indirizzo. Un pod \u00e8 considerata l'unit\u00e0 strutturale minima del cluster in cui vengono direttamente eseguiti i container. Inoltre, Kubernetes dispone di funzionalit\u00e0 che combinano un bilanciatore di carico e il Service Discovery. Questo elimina la necessit\u00e0 di gestire manualmente gli indirizzi IP e delega questo compito a Kubernetes. I controlli di salute automatici aiuteranno a rilevare i problemi e a reindirizzare il traffico ai pod funzionanti.<\/li>\n<li> <b>Gestione delle configurazioni. <\/b>Gestire un gran numero di applicazioni rende difficile gestire la configurazione delle applicazioni. Per questo in Kubernetes ci sono risorse speciali chiamate ConfigMap. Queste consentono di memorizzare centralmente le configurazioni e di inserirle nei pod al momento dell'avvio delle applicazioni. Questo meccanismo garantisce la coerenza delle configurazioni in dieci o cento repliche delle applicazioni. <\/li>\n<li> <b>Volumi persistenti. <\/b>I contenitori sono per loro natura immutabili e, quando un contenitore viene arrestato, tutti i dati scritti nel file system verranno distrutti. Tuttavia, alcune applicazioni memorizzano i dati direttamente su disco. Per risolvere questo problema, in Kubernetes \u00e8 disponibile una funzionalit\u00e0 di gestione dello storage \u2014 Volumi Persistenti. Questo meccanismo utilizza uno storage esterno per i dati e pu\u00f2 fornire storage persistente, blocco o file nei contenitori. Questa soluzione consente di memorizzare i dati separati dai worker, il che protegge i dati in caso di guasto di questi ultimi.<\/li>\n<li> <b>Bilanciatore di carico.<\/b> Nonostante in Kubernetes gestiamo entit\u00e0 astratte come Deployment, StatefulSet, ecc., alla fine i contenitori vengono eseguiti su comuni <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/abuzoustojchivye-vps\/\"   title=\"macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4246\">macchine virtuali<\/a> server fisici. Non sono ideali e possono guastarsi in qualsiasi momento. Kubernetes lo rileva e reindirizza il traffico interno ad altre repliche. Ma cosa fare con il traffico in arrivo dall'esterno? Se si reindirizza semplicemente il traffico a uno dei worker, che succede se questo fallisce e il servizio diventa non disponibile? Per risolvere questo problema, in Kubernetes ci sono servizi come il Bilanciatore di carico. Questi sono progettati per configurare automaticamente un bilanciatore di carico esterno su tutti i worker nel cluster. Questo bilanciatore esterno dirige il traffico in ingresso verso i worker e monitora il loro stato. Se uno o pi\u00f9 worker diventano non disponibili, il traffico viene reindirizzato ad altri. Questo consente di creare servizi ad alta disponibilit\u00e0 utilizzando Kubernetes.<\/li>\n<\/ul>\n<p>\nKubernetes si manifesta al meglio durante l'esecuzione di architetture a microservizi. \u00c8 possibile implementare il sistema in un'architettura classica, ma non ha senso. Se un'applicazione non pu\u00f2 funzionare in pi\u00f9 repliche, che differenza fa \u2014 se si utilizza Kubernetes o meno?<\/p>\n<p><b><\/p>\n<h3>Kubernetes open source<\/h3>\n<p><\/b><br \/>\nKubernetes open source \u00e8 una cosa fantastica: si installa ed \u00e8 pronto a funzionare. Puoi implementarlo sui tuoi server hardware, sulla tua infrastruttura, impostare master e worker, su cui verranno eseguite tutte le applicazioni. E la cosa principale \u00e8 che \u00e8 tutto gratuito. Tuttavia, ci sono delle complicazioni.<\/p>\n<ul>\n<li> La prima \u00e8 la richiesta di conoscenze ed esperienza degli amministratori e degli ingegneri che si occuperanno dell'implementazione e del supporto. Poich\u00e9 il cliente ha la piena libert\u00e0 di azione nel cluster, la responsabilit\u00e0 per il funzionamento del cluster ricade su di lui. E rompere qualcosa qui \u00e8 molto semplice.<\/li>\n<li> La seconda \u00e8 l'assenza di integrazioni. Se avvii Kubernetes senza una qualche piattaforma di virtualizzazione popolare, non potrai sfruttare tutti i vantaggi del programma. Come l'uso di Persistent Volumes e dei servizi Load balancer.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes: open source contro vendor lock-in\" src=\"\/wp-content\/uploads\/2020\/05\/8445e46889ca4c4d53bd91abeaa49256.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 2. Architettura k8s<\/i><\/p>\n<p><b><\/p>\n<h3>Kubernetes fornito dal venditore<\/h3>\n<p><\/b><br \/>\nL'integrazione con un fornitore cloud offre due possibilit\u00e0: <\/p>\n<ul>\n<li> In primo luogo, l'utente pu\u00f2 semplicemente premere il pulsante \"crea cluster\" e ricevere un cluster gi\u00e0 configurato e pronto per l'uso.<\/li>\n<li> In secondo luogo, il fornitore configura autonomamente il cluster e gestisce l'integrazione con il cloud.<\/li>\n<\/ul>\n<p>\nEcco come funziona da noi. L'ingegnere che avvia il cluster indica quanti worker sono necessari e con quali parametri (ad esempio, 5 worker, ciascuno con 10 CPU, 16 GB di RAM e, diciamo, 100 GB di disco). Dopodich\u00e9 ottiene accesso al cluster gi\u00e0 formato. A questo punto, i worker su cui viene eseguito il carico di lavoro sono completamente a disposizione del cliente, ma tutto il piano di gestione rimane sotto la responsabilit\u00e0 del fornitore (nel caso in cui il servizio venga fornito con il modello di managed service).<\/p>\n<p>Tuttavia, questo schema ha i suoi svantaggi. Poich\u00e9 il piano di gestione rimane presso il fornitore, quest'ultimo non concede accesso completo al cliente, e questo riduce la flessibilit\u00e0 nell'uso di Kubernetes. A volte il cliente desidera aggiungere a Kubernetes qualche funzionalit\u00e0 specifica, ad esempio l'autenticazione tramite LDAP, ma la configurazione del piano di gestione non lo consente.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source contro vendor lock-in\" src=\"\/wp-content\/uploads\/2020\/05\/e5cff16e4280cf041917c886c146a2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 3. Esempio di cluster Kubernetes fornito da un fornitore cloud<\/i><\/p>\n<p><b><\/p>\n<h3>Cosa scegliere: open source o fornito dal venditore<\/h3>\n<p><\/b><br \/>\nQuindi, Kubernetes open source o vendor? Se si opta per Kubernetes open source, l'utente pu\u00f2 fare ci\u00f2 che desidera. Ma c'\u00e8 un alto rischio di tirarsi la zappa sui piedi. Con quello vendor \u00e8 pi\u00f9 complicato, perch\u00e9 tutto \u00e8 stato pensato e configurato dall'azienda. Il maggior svantaggio di Kubernetes open source \u00e8 la richiesta di specialisti. Con il vendor, l'azienda \u00e8 sollevata da questo grattacapo, ma dovr\u00e0 decidere: pagare i propri specialisti o il vendor.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: open source contro vendor lock-in\" src=\"\/wp-content\/uploads\/2020\/05\/f14130c42049e20b2f33121e4d789cca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes: open source contro vendor lock-in\" src=\"\/wp-content\/uploads\/2020\/05\/4fb1feaacd42a67a444ae1600e37d0f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBene, i vantaggi sono evidenti, i svantaggi sono noti. Una cosa rimane invariata: Kubernetes risolve una miriade di problemi automatizzando la gestione di molti contenitori. E quale scegliere, open source o vendor, \u00e8 una decisione che ognuno prende per s\u00e9.<\/p>\n<p><i>L'articolo \u00e8 stato preparato da Dmitri Krasnov, architetto principale del servizio Containerum del provider #CloudMTS. <\/i><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ru_mts\/blog\/500728\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81130","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\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\/kubernetes-open-source-protiv-vendorskogo\" \/>\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\udd47Kubernetes: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\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-10T23:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-10T23:42:39+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\udd47Kubernetes: open source contro vendor | ProHoster","description":"Ciao, mi chiamo Dmitri Krasnov. Da oltre cinque anni mi occupo dell'amministrazione di cluster Kubernetes e della costruzione di architetture microservizi complesse.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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\udd47Kubernetes: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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-10T23:42:39+00:00","article:modified_time":"2020-05-10T23:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81130","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 16:04:23","updated":"2022-09-27 22:17:56","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\/81130","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=81130"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/81130\/revisions"}],"predecessor-version":[{"id":164121,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/81130\/revisions\/164121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/81131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=81130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=81130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=81130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}