{"id":80076,"date":"2020-05-03T01:42:34","date_gmt":"2020-05-02T23:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt"},"modified":"2020-05-03T01:42:34","modified_gmt":"2020-05-02T23:42:34","slug":"proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt","title":{"rendered":"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Nota del traduttore.<\/b>: questo materiale proviene da un progetto educativo <noindex><a rel=\"nofollow\" href=\"https:\/\/learnk8s.io\/\">learnk8s<\/a><\/noindex> \u2014 una risposta a una domanda comune nella progettazione di infrastrutture basate su Kubernetes. Speriamo che le descrizioni dettagliate dei vantaggi e degli svantaggi di ciascuna opzione aiutino a fare la scelta ottimale anche per il tuo progetto.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/d3cc3b7e686e39032b1f02f3e8b6c46c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>TL;DR<\/b>: lo stesso insieme di carichi di lavoro pu\u00f2 essere eseguito su pi\u00f9 cluster di grandi dimensioni (con un numero elevato di workload per ciascun cluster) o su molti cluster pi\u00f9 piccoli (con pochi carichi in ciascun cluster).<\/p>\n<p>Di seguito \u00e8 riportata una tabella che valuta i vantaggi e gli svantaggi di ciascun approccio:<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/ab5b5fefc97c3befddbaeb0791f8a90d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuando si utilizza Kubernetes come piattaforma per l'esecuzione di applicazioni, sorgono spesso alcune domande fondamentali sulle sottigliezze della configurazione dei cluster:<\/p>\n<ul>\n<li> <i>Quanti cluster utilizzare?<\/i><\/li>\n<li> <i>Quanto grandi dovrebbero essere?<\/i><\/li>\n<li> <i>Cosa dovrebbe includere ciascun cluster?<\/i><\/li>\n<\/ul>\n<p>\nIn questo articolo cercher\u00f2 di rispondere a tutte queste domande, analizzando i vantaggi e gli svantaggi di ciascun approccio.<\/p>\n<h2>Formulazione della questione<\/h2>\n<p>\nIn qualit\u00e0 di sviluppatore software, \u00e8 probabile che tu stia sviluppando e gestendo contemporaneamente numerose applicazioni.<\/p>\n<p>Inoltre, molti esemplari di queste applicazioni vengono probabilmente eseguiti in diversi ambienti, ad esempio possono essere <i>dev<\/i>, <i>test<\/i> e <i>prod<\/i>.<\/p>\n<p>Il risultato \u00e8 una vera e propria matrice di applicazioni e ambienti:<\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/f2a811fa82e1e433463ba25d29f837e6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Applicazioni e ambienti<\/i><\/p>\n<p>Nell'esempio sopra sono presentate 3 applicazioni e 3 ambienti, il che porta a 9 possibilit\u00e0 diverse.<\/p>\n<p>Ogni esemplare dell'applicazione rappresenta un'unit\u00e0 di deployment autonoma, con cui \u00e8 possibile lavorare indipendentemente dalle altre.<\/p>\n<p><i>Nota che <b>esemplare dell'applicazione<\/b> pu\u00f2 consistere in molteplici <b>componenti<\/b>, come frontend, backend, database, ecc. Nel caso di un'applicazione a microservizi, un esemplare includer\u00e0 tutti i microservizi.<\/i><\/p>\n<p>Di conseguenza, gli utenti di Kubernetes si pongono alcune domande:<\/p>\n<ul>\n<li> \u00c8 utile posizionare tutti gli esemplari dell'applicazione in un unico cluster?<\/li>\n<li> \u00c8 opportuno creare un cluster separato per ogni esemplare dell'applicazione?<\/li>\n<li> Oppure, forse, \u00e8 meglio utilizzare una combinazione dei metodi sopra citati?<\/li>\n<\/ul>\n<p>\nTutte queste opzioni sono del tutto valide, poich\u00e9 Kubernetes \u00e8 un sistema flessibile che non limita le possibilit\u00e0 degli utenti.<\/p>\n<p>Ecco alcuni dei percorsi possibili:<\/p>\n<ul>\n<li> un grande cluster centrale;<\/li>\n<li> numerosi piccoli cluster specializzati;<\/li>\n<li> un cluster per ogni applicazione;<\/li>\n<li> un cluster per ogni ambiente.<\/li>\n<\/ul>\n<p>\nCome mostrato di seguito, le prime due opzioni si trovano agli estremi opposti della scala delle possibilit\u00e0:<\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/99b8fd0d1e4173705e7996cf8ccb6eec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Da pochi grandi cluster (a sinistra) a molti piccoli (a destra)<\/i><\/p>\n<p><i>In generale, si considera che un cluster sia \u00abpi\u00f9 grande\u00bb di un altro se ha una somma maggiore di nodi e pod. Ad esempio, un cluster con 10 nodi e 100 pod \u00e8 pi\u00f9 grande di un cluster con 1 nodo e 10 pod.<\/i><\/p>\n<p>Bene, cominciamo!<\/p>\n<h2>1. Un grande cluster centrale<\/h2>\n<p>\nLa prima opzione \u00e8 ospitare tutti i carichi di lavoro in un unico cluster:<\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/283fc3c3f5ccb40a157ccff600628114.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Un grande cluster<\/i><\/p>\n<p>Nell'ambito di questo approccio, il cluster viene utilizzato come piattaforma infrastrutturale universale <b>\u2014 tutto ci\u00f2 di cui hai bisogno viene semplicemente distribuito nel cluster Kubernetes esistente.<\/b> Namespace<\/p>\n<p><i><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/namespaces\/\">Namespace<\/a><\/noindex> Kubernetes consente di separare logicamente le parti del cluster, in modo che per ogni istanza dell'applicazione si possa usare il proprio spazio dei nomi.<\/i><\/p>\n<p><i>Esaminiamo i pro e i contro di questo approccio.<\/i><\/p>\n<h3>+ Utilizzo efficace delle risorse<\/h3>\n<p>\nIn caso di un singolo cluster, \u00e8 necessaria solo una copia di tutte le risorse necessarie per avviare e gestire il cluster Kubernetes.<\/p>\n<p>Ad esempio, questo vale per i nodi master. Di solito, ogni cluster Kubernetes ha 3 nodi master, quindi per un singolo cluster il numero rimarr\u00e0 tale (per confronto, 10 cluster avranno bisogno di 30 nodi master).<\/p>\n<p>Questa sottigliezza si applica anche ad altri servizi che operano a livello di cluster, come i bilanciatori di carico, i controller Ingress, i sistemi di autenticazione, logging e monitoraggio.<\/p>\n<p>In un unico cluster, tutti questi servizi possono essere utilizzati immediatamente per tutti i carichi di lavoro (non \u00e8 necessario creare copie, come nel caso di pi\u00f9 cluster).<\/p>\n<h3>+ Economicit\u00e0<\/h3>\n<p>\nDi conseguenza, un numero minore di cluster di solito costa meno, poich\u00e9 non ci sono spese per risorse ridondanti.<\/p>\n<p>Questo \u00e8 particolarmente vero per i nodi master, che possono avere costi significativi indipendentemente dal modo in cui sono ospitati (in loco o nel cloud).<\/p>\n<p>Alcuni servizi Kubernetes gestiti, come <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\">Google Kubernetes Engine (GKE)<\/a><\/noindex> o <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/aks\/\">Azure Kubernetes Service (AKS)<\/a><\/noindex>, forniscono uno strato di gestione gratuitamente. In questo caso, la questione dei costi \u00e8 meno pressante.<\/p>\n<p>Ci sono anche servizi gestiti che addebitano una tariffa fissa per il funzionamento di ogni cluster Kubernetes (ad esempio, <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon Elastic Kubernetes Service (EKS)<\/a><\/noindex>).<\/p>\n<h3>+ Amministrazione efficace<\/h3>\n<p>\n\u00c8 pi\u00f9 facile gestire un solo cluster piuttosto che pi\u00f9 di uno.<\/p>\n<p>L'amministrazione pu\u00f2 includere le seguenti attivit\u00e0:<\/p>\n<ul>\n<li> aggiornamento della versione di Kubernetes;<\/li>\n<li> configurazione del pipeline CI\/CD;<\/li>\n<li> installazione di un plugin CNI;<\/li>\n<li> configurazione del sistema di autenticazione degli utenti;<\/li>\n<li> installazione di un controller di accesso;<\/li>\n<\/ul>\n<p>\ne molte altre\u2026<\/p>\n<p>Nel caso di un solo cluster, tutte queste attivit\u00e0 dovranno essere svolte solo una volta.<\/p>\n<p>Per molte operazioni nei cluster, sar\u00e0 necessario ripetere i processi pi\u00f9 volte, il che probabilmente richieder\u00e0 una certa automazione e strumenti per garantire coerenza e uniformit\u00e0.<\/p>\n<p><i>Ora alcune parole sugli svantaggi.<\/i><\/p>\n<h3>\u2212 Punto unico di guasto<\/h3>\n<p>\nIn caso di guasto <i>dell'unico<\/i> cluster, tutte <i>tutti<\/i> le workload smetteranno di funzionare!<\/p>\n<p>Ci sono molteplici varianti in cui qualcosa potrebbe andare male:<\/p>\n<ul>\n<li> un aggiornamento di Kubernetes porta a effetti collaterali imprevisti;<\/li>\n<li> un componente del cluster (ad esempio, un plugin CNI) inizia a funzionare diversamente da quanto previsto;<\/li>\n<li> uno dei componenti del cluster \u00e8 configurato in modo errato;<\/li>\n<li> un malfunzionamento nell'infrastruttura sottostante.<\/li>\n<\/ul>\n<p>\nUn singolo incidente pu\u00f2 causare seri danni a tutte le workload ospitate nel cluster condiviso.<\/p>\n<h3>\u2212 Mancanza di isolamento rigoroso<\/h3>\n<p>\nLavorare in un cluster condiviso significa che le applicazioni condividono le risorse hardware, le capacit\u00e0 di rete e il sistema operativo sui nodi del cluster.<\/p>\n<p>In un certo senso, due contenitori con due applicazioni diverse che operano sullo stesso nodo sono simili a due processi che funzionano sulla stessa macchina sotto la gestione dello stesso kernel del sistema operativo.<\/p>\n<p><i>I contenitori Linux forniscono una certa forma di isolamento, ma \u00e8 lontano dall'essere forte come quello offerto, ad esempio, dalle macchine virtuali. In sostanza, il processo in un contenitore \u00e8 lo stesso processo in esecuzione nel sistema operativo host.<\/i><\/p>\n<p>Questo pu\u00f2 diventare un problema dal punto di vista della sicurezza: una tale organizzazione consente teoricamente a applicazioni non correlate di interagire tra loro (intenzionalmente o accidentalmente).<\/p>\n<p>Inoltre, tutti i carichi di lavoro nel cluster Kubernetes condividono alcuni servizi comuni al cluster, come <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/dns-pod-service\/\">DNS<\/a><\/noindex> \u2014 questo consente alle applicazioni di trovare i Service di altre applicazioni nel cluster.<\/p>\n<p><i>Tutti i punti sopra elencati possono avere rilevanza diversa a seconda dei requisiti di sicurezza delle applicazioni.<\/i><\/p>\n<p>Kubernetes fornisce vari strumenti per prevenire problemi di sicurezza, come <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/pod-security-policy\/\">PodSecurityPolicies<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/network-policies\/\">NetworkPolicies<\/a><\/noindex>. Tuttavia, per la loro corretta configurazione \u00e8 necessaria una certa esperienza; inoltre, non riescono a coprire tutte le vulnerabilit\u00e0 di sicurezza.<\/p>\n<p>\u00c8 importante ricordare sempre che Kubernetes \u00e8 stato progettato principalmente per <i>la condivisione<\/i>, e non per <i>l'isolamento e la sicurezza.<\/i>.<\/p>\n<h3>\u2212 Mancanza di una vera multi-tenancy.<\/h3>\n<p>\nConsiderando l'abbondanza di risorse condivise nel cluster Kubernetes, ci sono molti modi in cui diverse applicazioni possono \"calpestarsi\" a vicenda.<\/p>\n<p>Ad esempio, un'applicazione pu\u00f2 monopolizzare una risorsa condivisa (come la CPU o la memoria) e privare altre applicazioni, in esecuzione sullo stesso nodo, dell'accesso ad essa.<\/p>\n<p>Kubernetes fornisce vari meccanismi per controllare questo comportamento, come <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/manage-compute-resources-container\/\">richieste di risorse e limiti<\/a><\/noindex> <i>(vedi anche l'articolo \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/489668\/\"> Limiti CPU e throttling aggressivo in Kubernetes <\/a><\/noindex>\u00bb \u2014 nota del traduttore.)<\/i>, <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/resource-quotas\/\">ResourceQuotas<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/limit-range\/\">LimitRanges<\/a><\/noindex>. Tuttavia, come nel caso della sicurezza, la loro configurazione \u00e8 piuttosto complessa e non possono prevenire tutti gli effetti collaterali imprevisti.<\/p>\n<h3>\u2212 Un gran numero di utenti.<\/h3>\n<p>\nNel caso di un cluster unico, \u00e8 necessario concedere accesso a molte persone. Maggiore \u00e8 il numero di utenti, maggiore \u00e8 il rischio che possano \"rompere\" qualcosa.<\/p>\n<p>All'interno del cluster \u00e8 possibile controllare chi e cosa pu\u00f2 fare grazie a <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/rbac\/\">gestione degli accessi basata sui ruoli (RBAC)<\/a><\/noindex> <i>(vedi l'articolo \"<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/470503\/\"> Utenti e autorizzazione RBAC in Kubernetes <\/a><\/noindex>\u00bb \u2014 nota del traduttore.)<\/i>. Tuttavia, questo non impedir\u00e0 agli utenti di \"rompere\" qualcosa all'interno della propria area di responsabilit\u00e0.<\/p>\n<h3>\u2212 I cluster non possono crescere all'infinito<\/h3>\n<p>\nUn cluster utilizzato per tutti i carichi di lavoro sar\u00e0 probabilmente molto grande (in termini di nodi e pod).<\/p>\n<p>Ma qui sorge un altro problema: i cluster in Kubernetes non possono crescere all'infinito.<\/p>\n<p>Esiste un limite teorico alla dimensione del cluster. In Kubernetes, questo limite \u00e8 di circa <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/setup\/best-practices\/cluster-large\/\">5000 nodi, 150 mila pod e 300 mila contenitori<\/a><\/noindex>.<\/p>\n<p>Tuttavia, nella vita reale, i problemi possono iniziare molto prima \u2014 per esempio, gi\u00e0 a <noindex><a rel=\"nofollow\" href=\"https:\/\/events19.lfasiallc.com\/wp-content\/uploads\/2017\/11\/BoF_-Not-One-Size-Fits-All-How-to-Size-Kubernetes-Clusters_Guang-Ya-Liu-_-Sahdev-Zala.pdf\">500 nodi.<\/a><\/noindex>.<\/p>\n<p>Il punto \u00e8 che i cluster di grandi dimensioni esercitano un alto carico sul livello di gestione di Kubernetes. In altre parole, per mantenere un cluster funzionante e utilizzare le risorse in modo efficiente, \u00e8 necessaria una configurazione accurata.<\/p>\n<p><i>Questo problema \u00e8 trattato in un articolo correlato nel blog originale intitolato \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/learnk8s.io\/kubernetes-node-size\">Architettura dei cluster Kubernetes \u2014 scelta delle dimensioni dei nodi worker<\/a><\/noindex>\u00bb.<\/i><\/p>\n<p><i>Ma consideriamo l'approccio opposto: molti piccoli cluster.<\/i><\/p>\n<h2>2. Molti piccoli cluster specializzati<\/h2>\n<p>\nCon questo approccio, usi un cluster separato per ogni elemento distribuito:<\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/2320f62d945944f2e26f07252e9b8440.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Molti piccoli cluster<\/i><\/p>\n<p>Ai fini di questo articolo, per <i>elemento distribuito<\/i> si intende un'istanza dell'applicazione \u2014 ad esempio, una versione dev di un'applicazione separata.<\/p>\n<p>In questa strategia, Kubernetes \u00e8 utilizzato come un <b>ambiente di esecuzione<\/b> specializzato per istanze dell'applicazione.<\/p>\n<p><i>Esaminiamo i pro e i contro di questo approccio.<\/i><\/p>\n<h3>+ Raggio d'esplosione limitato<\/h3>\n<p>\nIn caso di \u00abguasto\u00bb del cluster, le conseguenze negative sono limitate solo ai carichi di lavoro che sono stati distribuiti in quel cluster. Tutti gli altri workload restano intatti.<\/p>\n<h3>+ Isolamento<\/h3>\n<p>\nI carichi di lavoro collocati in cluster dedicati non condividono risorse come CPU, memoria, sistema operativo, rete o altri servizi.<\/p>\n<p>Di conseguenza, otteniamo un'isolamento rigido tra applicazioni non collegate, il che pu\u00f2 migliorare la loro sicurezza.<\/p>\n<h3>+ Numero limitato di utenti<\/h3>\n<p>\nPoich\u00e9 in ogni cluster \u00e8 presente solo un numero limitato di carichi di lavoro, il numero di utenti con accesso \u00e8 ridotto.<\/p>\n<p>Meno persone hanno accesso al cluster, minore \u00e8 il rischio che qualcosa si rompa.<\/p>\n<p><i>Esaminiamo gli svantaggi.<\/i><\/p>\n<h3>\u2212 Utilizzo inefficiente delle risorse<\/h3>\n<p>\nCome menzionato in precedenza, ogni cluster Kubernetes richiede un certo insieme di risorse di gestione: nodi master, componenti del piano di controllo, soluzioni per il monitoraggio e la registrazione.<\/p>\n<p>Con un numero elevato di cluster piccoli, \u00e8 necessario dedicare una quota maggiore delle risorse alla gestione.<\/p>\n<h3>\u2212 Costosit\u00e0<\/h3>\n<p>\nL'utilizzo inefficiente delle risorse porta automaticamente a costi elevati.<\/p>\n<p>Ad esempio, avere 30 nodi master invece di tre con la stessa potenza di calcolo si tradurr\u00e0 inevitabilmente in costi maggiori.<\/p>\n<h3>\u2212 Complessit\u00e0 di gestione<\/h3>\n<p>\nGestire numerosi cluster Kubernetes \u00e8 molto pi\u00f9 complicato rispetto a lavorare con uno solo.<\/p>\n<p>Ad esempio, sar\u00e0 necessario configurare l'autenticazione e l'autorizzazione per ciascun cluster. Aggiornare la versione di Kubernetes richieder\u00e0 anche pi\u00f9 operazioni.<\/p>\n<p>Probabilmente sar\u00e0 necessario implementare l'automazione per ottimizzare tutte queste attivit\u00e0.<\/p>\n<p><i>Ora consideriamo scenari meno estremi.<\/i><\/p>\n<h2>3. Un cluster per ciascuna applicazione<\/h2>\n<p>\nCon questo approccio, crei un cluster separato per tutte le istanze di una specifica applicazione:<\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/238ee74d4e4dc42b7daeadc1ce484905.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Cluster per applicazione<\/i><\/p>\n<p>Questo approccio pu\u00f2 essere visto come un'estensione del principio \"<b>un cluster per team<\/b>\", poich\u00e9 generalmente un team di ingegneri si occupa dello sviluppo di una o pi\u00f9 applicazioni.<\/p>\n<p><i>Esaminiamo i pro e i contro di questo approccio.<\/i><\/p>\n<h3>+ Il cluster pu\u00f2 essere personalizzato per l'applicazione<\/h3>\n<p>\nSe un'applicazione ha esigenze specifiche, queste possono essere soddisfatte nel cluster senza influenzare gli altri cluster.<\/p>\n<p>Queste esigenze possono includere worker con GPU, particolari plugin CNI, service mesh o qualche altro servizio.<\/p>\n<p>Ogni cluster pu\u00f2 essere adattato all'applicazione in esecuzione al suo interno, in modo che contenga solo ci\u00f2 che \u00e8 necessario.<\/p>\n<h3>\u2212 Ambienti diversi in un unico cluster<\/h3>\n<p>\nIl difetto di questo approccio \u00e8 che le istanze delle applicazioni di ambienti diversi coesistono all'interno di un unico cluster.<\/p>\n<p>Ad esempio, la versione prod dell'applicazione funziona nello stesso cluster della versione dev. Questo significa anche che gli sviluppatori operano nello stesso cluster in cui \u00e8 in uso la versione di produzione dell'applicazione.<\/p>\n<p>Se a causa delle azioni degli sviluppatori o di bug nella versione dev si verifica un guasto nel cluster, la versione prod potrebbe subire danni \u2014 un enorme svantaggio di questo approccio.<\/p>\n<p><i>Infine, l'ultimo scenario della nostra lista.<\/i><\/p>\n<h2>4. Un cluster per ogni ambiente<\/h2>\n<p>\nQuesto scenario prevede l'assegnazione di un cluster separato per ogni ambiente:<\/p>\n<p><img decoding=\"async\" alt=\"Progettazione di cluster Kubernetes: quanti dovrebbero essercene?\" src=\"\/wp-content\/uploads\/2020\/05\/157da599edf178832b1b15459786fbc8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Un cluster per ambiente<\/i><\/p>\n<p>Ad esempio, potresti avere cluster <i>dev<\/i>, <i>test<\/i> e <i>prod<\/i>, in cui eseguire tutte le istanze dell'applicazione destinate a un determinato ambiente.<\/p>\n<p><i>Ecco i pro e i contro di questo approccio.<\/i><\/p>\n<h3>+ Isolamento dell'ambiente di produzione<\/h3>\n<p>\nIn base a questo approccio, tutti gli ambienti risultano isolati l'uno dall'altro. Tuttavia, nella pratica, questo \u00e8 particolarmente importante per l'ambiente di produzione.<\/p>\n<p>Le versioni di produzione dell'applicazione non dipendono ora da ci\u00f2 che accade in altri cluster e ambienti.<\/p>\n<p>In questo modo, se nel cluster di sviluppo si verifica all'improvviso un problema, le versioni di produzione delle applicazioni continueranno a funzionare come se nulla fosse successo.<\/p>\n<h3>+ Il cluster pu\u00f2 essere adattato all'ambiente<\/h3>\n<p>\nOgni cluster pu\u00f2 essere configurato in base al suo ambiente. Ad esempio, \u00e8 possibile:<\/p>\n<ul>\n<li> installare strumenti di sviluppo e debug nel cluster di sviluppo;<\/li>\n<li> installare framework e strumenti di test nel cluster; <i>test<\/i>;<\/li>\n<li> utilizzare hardware e bande pi\u00f9 potenti nel cluster. <i>prod<\/i>.<\/li>\n<\/ul>\n<p>\nQuesto consente di aumentare l'efficienza sia nello sviluppo che nell'operativit\u00e0 delle applicazioni.<\/p>\n<h3>+ Limitazione dell'accesso al cluster di produzione<\/h3>\n<p>\nLa necessit\u00e0 di lavorare direttamente con il cluster di produzione si presenta raramente, quindi \u00e8 possibile limitare significativamente il numero di persone che vi hanno accesso.<\/p>\n<p>Si pu\u00f2 andare oltre e negare completamente l'accesso a questo cluster, eseguendo tutte le distribuzioni attraverso uno strumento automatizzato CI\/CD. Questo approccio ridurr\u00e0 al minimo il rischio di errori umani proprio nei punti pi\u00f9 critici.<\/p>\n<p><i>Ora alcune parole sugli svantaggi.<\/i><\/p>\n<h3>\u2212 Mancanza di isolamento tra le applicazioni<\/h3>\n<p>\nIl principale svantaggio di questo approccio \u00e8 l'assenza di isolamento hardware e delle risorse tra le applicazioni.<\/p>\n<p>Applicazioni non correlate condividono risorse del cluster: nucleo del sistema, CPU, memoria e alcuni altri servizi.<\/p>\n<p>Come gi\u00e0 accennato, questo pu\u00f2 risultare potenzialmente pericoloso.<\/p>\n<h3>\u2212 Impossibilit\u00e0 di localizzare le dipendenze delle applicazioni<\/h3>\n<p>\nSe un'applicazione ha requisiti specifici, \u00e8 necessario soddisfarli in tutti i cluster.<\/p>\n<p>Ad esempio, se un'applicazione richiede una GPU, ogni cluster deve avere almeno un worker con GPU (anche se viene utilizzata solo da quell'applicazione).<\/p>\n<p>Di conseguenza, rischiamo di avere costi pi\u00f9 elevati e un utilizzo inefficiente delle risorse.<\/p>\n<h2>Conclusione<\/h2>\n<p>\nCon un certo insieme di applicazioni, \u00e8 possibile distribuirle in diversi grandi cluster o in molti piccoli.<\/p>\n<p>Nell'articolo vengono esaminati i pro e i contro dei diversi approcci, che vanno da un singolo cluster globale a pi\u00f9 cluster piccoli e specializzati:<\/p>\n<ul>\n<li> un grande cluster comune;<\/li>\n<li> numerosi piccoli cluster specializzati;<\/li>\n<li> un cluster per ogni applicazione;<\/li>\n<li> un cluster per ogni ambiente.<\/li>\n<\/ul>\n<p>\n<i>Quindi, quale approccio scegliere?<\/i><\/p>\n<p>Come sempre, la risposta dipende dallo scenario d'uso: \u00e8 necessario valutare i pro e i contro dei vari approcci e scegliere l'opzione pi\u00f9 ottimale.<\/p>\n<p>Tuttavia, la scelta non \u00e8 limitata agli esempi sopra riportati: \u00e8 possibile utilizzare qualsiasi loro combinazione!<\/p>\n<p>Ad esempio, si possono organizzare un paio di cluster per ciascun team: un cluster per lo sviluppo (in cui ci saranno gli ambienti <i>dev<\/i> e <i>test<\/i>) e un cluster per <i>produzione<\/i> (dove si trova l'ambiente di produzione).<\/p>\n<p>Basandosi sulle informazioni di questo articolo, si potr\u00e0 ottimizzare adeguatamente i pro e i contro per uno scenario specifico. Buona fortuna!<\/p>\n<h2>P.S.<\/h2>\n<p>\nLeggete anche nel nostro blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/484954\/\">Guida visiva alla diagnosi dei problemi in Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/480946\/\">Log in Kubernetes (e non solo) oggi: aspettative e realt\u00e0<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/478306\/\">Service Mesh: cosa ogni Software Engineer deve sapere sulla tecnologia pi\u00f9 in voga<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/468679\/\">Alfabeto della sicurezza in Kubernetes: autenticazione, autorizzazione, audit<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/498100\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u044d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043e\u0442 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 learnk8s \u2014 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 Kubernetes. \u041d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043b\u044e\u0441\u043e\u0432 \u0438 \u043c\u0438\u043d\u0443\u0441\u043e\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u0438 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. TL;DR: \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u0445 (\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80077,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u044d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043e\u0442 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 learnk8s \u2014 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 Kubernetes. \u041d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043b\u044e\u0441\u043e\u0432 \u0438 \u043c\u0438\u043d\u0443\u0441\u043e\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u0438 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. TL;DR: \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u0445 (\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\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\/proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0445 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u044d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043e\u0442 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 learnk8s \u2014 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 Kubernetes. \u041d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043b\u044e\u0441\u043e\u0432 \u0438 \u043c\u0438\u043d\u0443\u0441\u043e\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u0438 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. TL;DR: \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u0445 (\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt\" \/>\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-02T23:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-02T23:42:34+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\udd47Progettazione di cluster Kubernetes: quanti dovrebbero essercene? | ProHoster","description":"Nota: questo materiale proviene dal progetto educativo learnk8s \u2013 una risposta a una domanda comune nella progettazione di un'infrastruttura basata su Kubernetes. Speriamo che le descrizioni dettagliate dei pro e dei contro di ciascuna opzione aiutino a fare una scelta ottimale anche per il tuo progetto. TL;DR: \u00e8 possibile eseguire lo stesso insieme di carichi di lavoro su pi\u00f9 grandi cluster (a ciascun cluster","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt","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\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0445 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c? | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u044d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043e\u0442 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 learnk8s \u2014 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 Kubernetes. \u041d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043b\u044e\u0441\u043e\u0432 \u0438 \u043c\u0438\u043d\u0443\u0441\u043e\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u0438 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. TL;DR: \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u0445 (\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/proektirovanie-kubernetes-klasterov-skolko-ih-dolzhno-byt","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-02T23:42:34+00:00","article:modified_time":"2020-05-02T23:42:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80076","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:24:58","updated":"2022-10-02 20:23:35"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/80076","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=80076"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/80076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/80077"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=80076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=80076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=80076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}