{"id":39016,"date":"2019-10-31T22:27:21","date_gmt":"2019-10-31T19:27:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\/"},"modified":"2019-10-31T22:27:21","modified_gmt":"2019-10-31T19:27:21","slug":"7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","title":{"rendered":"7 migliori pratiche per la gestione dei container secondo Google","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Nota di traduzione.<\/b>: L'autore dell'articolo originale \u00e8 Th\u00e9o Chamley, architetto delle soluzioni cloud di Google. In questa pubblicazione per il blog di Google Cloud, ha presentato un breve riassunto di una guida pi\u00f9 dettagliata della sua azienda intitolata \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">Best Practices for Operating Containers<\/a><\/noindex>\u00bb. In essa, gli esperti di Google hanno raccolto le migliori pratiche per la gestione dei container nel contesto dell'utilizzo di Google Kubernetes Engine e non solo, affrontando un'ampia gamma di argomenti: dalla sicurezza al monitoraggio e alla registrazione. Quindi, quali pratiche nella gestione dei container sono considerate le pi\u00f9 importanti secondo Google?<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 migliori pratiche per la gestione dei container secondo Google\" src=\"\/wp-content\/uploads\/2019\/10\/43aaa13a0fae1564ffc7f0a1fe0020b7.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\">Kubernetes Engine<\/a><\/noindex> <i>(servizio basato su Kubernetes per eseguire applicazioni containerizzate in Google Cloud \u2014 <b>Nota di traduzione.<\/b>)<\/i> \u2014 \u00e8 uno dei migliori modi per eseguire carichi di lavoro che necessitano di scalabilit\u00e0. <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes\/\">Kubernetes<\/a><\/noindex> Assicurer\u00e0 il funzionamento impeccabile della maggior parte delle applicazioni, a condizione che siano containerizzate. Ma se desideri che l'applicazione sia facile da gestire e vuoi sfruttare tutti i vantaggi di Kubernetes, \u00e8 necessario seguire le migliori pratiche. Queste semplificheranno la gestione dell'applicazione, il suo monitoraggio e il debug, aumentando anche la sicurezza.<\/p>\n<p>In questo articolo esamineremo un elenco di ci\u00f2 che \u00e8 importante sapere e fare per il funzionamento efficace dei container in Kubernetes. Chi desidera approfondire i dettagli dovrebbe leggere il materiale <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">Best Practices for Operating Containers<\/a><\/noindex>, e prestare attenzione al nostro <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/7-best-practices-for-building-containers\">post precedente<\/a><\/noindex> sulla build dei container.<\/p>\n<h2>1. Utilizza i meccanismi nativi dei container per la registrazione<\/h2>\n<p>\nSe l'applicazione \u00e8 eseguita in un cluster Kubernetes, non \u00e8 necessario molto per i log. Un sistema di registrazione centralizzato \u00e8 probabilmente gi\u00e0 integrato nel cluster che stai utilizzando. Nel caso di Kubernetes Engine, ci\u00f2 \u00e8 gestito da <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/\">Stackdriver Logging<\/a><\/noindex>. <i>(<b>Nota di traduzione.<\/b>: Nel caso di un'installazione propria di Kubernetes, ti consigliamo di dare un'occhiata alla nostra soluzione open source \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/loghouse\">loghouse<\/a><\/noindex>.)<\/i> Non complicarti la vita e utilizza i meccanismi di registrazione nativi dei container. Scrivi i log in stdout e stderr: verranno automaticamente acquisiti, salvati e indicizzati.<\/p>\n<p>Se lo desideri, \u00e8 possibile scrivere i log anche in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/docs\/structured-logging\">formato JSON<\/a><\/noindex>. Questo approccio permetter\u00e0 di aggiungere facilmente metadati. E insieme a questi, in Stackdriver Logging ci sar\u00e0 la possibilit\u00e0 di cercare nei log utilizzando questi metadati.<\/p>\n<h2>2. Assicurati che i container siano stateless e immutable<\/h2>\n<p>\nPer un corretto funzionamento dei contenitori nel cluster Kubernetes, devono essere stateless e immutabili. Quando queste condizioni sono soddisfatte, Kubernetes sar\u00e0 in grado di svolgere il proprio lavoro, creando e distruggendo entit\u00e0 dell'applicazione quando e dove necessario.<\/p>\n<p><i>Stateless<\/i> significa che qualsiasi stato (dati persistenti di qualsiasi tipo) viene memorizzato al di fuori del contenitore. A tal fine, a seconda delle esigenze, possono essere utilizzati diversi tipi di archiviazione esterna: <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/docs\">Cloud Storage<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/stateful-apps\">Persistent Disks<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/memorystore\/docs\/redis\/\">Redis<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/sql\/docs\/\">Cloud SQL<\/a><\/noindex> o altre basi di dati gestite. <i>(<b>Nota di traduzione.<\/b>: Maggiori dettagli sono disponibili anche nel nostro articolo \"<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/326414\/\">Operatori per Kubernetes: come eseguire applicazioni stateful<\/a><\/noindex>\u00bb.)<\/i><\/p>\n<p><i>Immutable<\/i> significa che il contenitore non sar\u00e0 modificato durante la sua vita: nessun aggiornamento, patch o modifiche alla configurazione. Se \u00e8 necessario aggiornare il codice dell'applicazione o applicare una patch, creare una nuova immagine e distribuire. Si consiglia di estrarre la configurazione del contenitore (porta di ascolto, opzioni dell'ambiente di esecuzione, ecc.) all'esterno \u2014 in <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/secret\/\">Secrets<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Questi possono essere aggiornati senza dover ricostruire la nuova immagine del contenitore. Per una semplice creazione di pipeline con la costruzione di immagini, \u00e8 possibile utilizzare <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/cloud-build\/\">Cloud Build<\/a><\/noindex>. <i>(<b>Nota di traduzione.<\/b>: Per questo scopo utilizziamo uno strumento Open Source chiamato <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/dapp\">dapp<\/a><\/noindex>.)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 migliori pratiche per la gestione dei container secondo Google\" src=\"\/wp-content\/uploads\/2019\/10\/f13a83d22e7b8d7c1e8ac6a63c35646c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Esempio di aggiornamento della configurazione del Deployment in Kubernetes utilizzando ConfigMap, montato nei pod come configurazione<\/i><\/p>\n<h2>3. Evitare i contenitori privilegiati<\/h2>\n<p>\nNon stai lanciando applicazioni come root sui tuoi server, giusto? Se un attaccante riesce a penetrare nell'applicazione, avr\u00e0 accesso con privilegi di root. Le stesse considerazioni si applicano anche per evitare di eseguire contenitori con privilegi elevati. Se \u00e8 necessario modificare le impostazioni sull'host, puoi fornire al contenitore specifici <i>capabilities<\/i> utilizzando l'opzione <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/security-context\/#set-capabilities-for-a-container\"><code>securityContext<\/code><\/a><\/noindex> in Kubernetes. Se \u00e8 necessario modificare <i>sysctls<\/i>, Kubernetes ha <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/administer-cluster\/sysctl-cluster\/\">un'annotazione separata<\/a><\/noindex> per questo. In generale, cerca di utilizzare il pi\u00f9 possibile <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/init-containers\/\">init-<\/a><\/noindex> e contenitori sidecar per eseguire tali operazioni privilegiate. Non hanno bisogno di essere accessibili n\u00e9 per il traffico interno n\u00e9 per quello esterno.<\/p>\n<p>Se gestisci un cluster, puoi utilizzare <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/pod-security-policy\/#privileged\">Pod Security Policy<\/a><\/noindex> per le limitazioni nell'applicazione di contenitori privilegiati.<\/p>\n<h2>4. Evitare l'esecuzione come root<\/h2>\n<p>\nDi contenitori privilegiati si \u00e8 gi\u00e0 parlato, ma sarebbe ancora meglio se oltre a questo non eseguissi applicazioni come root all'interno del contenitore. Se un attaccante trova un'implementazione remota vulnerabile con privilegi di root, con la possibilit\u00e0 di eseguire codice, e riesce a uscire dai limiti del contenitore tramite una vulnerabilit\u00e0 ancora sconosciuta, otterr\u00e0 accesso come root sull'host.<\/p>\n<p>Il modo migliore per evitare ci\u00f2 \u00e8, prima di tutto, non eseguire nulla come root. A tal fine, puoi utilizzare la direttiva <code>UTENTE<\/code> in <code>Dockerfile<\/code> o <code>runAsUser<\/code> in Kubernetes. L'amministratore del cluster pu\u00f2 anche impostare un comportamento forzato usando <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/pod-security-policies\">Pod Security Policy<\/a><\/noindex>.<\/p>\n<h2>5. Rendi l'applicazione facile da monitorare<\/h2>\n<p>\nCome il logging, il monitoraggio \u00e8 una parte essenziale della gestione dell'applicazione. Una soluzione popolare per il monitoraggio nella comunit\u00e0 di Kubernetes \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> \u2014 un sistema che rileva automaticamente i pod e i servizi che necessitano di monitoraggio. <i>(<b>Nota di traduzione.<\/b>: Vedi anche il nostro <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">rapporto dettagliato<\/a><\/noindex> sul monitoraggio con Prometheus e Kubernetes.)<\/i> <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/monitoring\/kubernetes-engine\/\">Stackdriver<\/a><\/noindex> pu\u00f2 monitorare i cluster Kubernetes e include la sua versione di Prometheus per il monitoraggio delle applicazioni.<\/p>\n<p><img decoding=\"async\" alt=\"7 migliori pratiche per la gestione dei container secondo Google\" src=\"\/wp-content\/uploads\/2019\/10\/642b9ccc4b7a789018a4aeeb62e7cae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>La dashboard di monitoraggio di Kubernetes in Stackdriver<\/i><\/p>\n<p>Prometheus si aspetta che l'applicazione esponga metriche su un endpoint HTTP. A questo scopo sono disponibili <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/instrumenting\/clientlibs\/\">librerie client di Prometheus<\/a><\/noindex>. Lo stesso formato \u00e8 utilizzato anche da altri strumenti come <noindex><a rel=\"nofollow\" href=\"http:\/\/opencensus.io\/\">OpenCensus<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio<\/a><\/noindex>.<\/p>\n<h2>6. Rendi disponibile lo stato di salute dell'applicazione<\/h2>\n<p>\nLa capacit\u00e0 di un'applicazione di comunicare il proprio stato all'intero sistema aiuta nella gestione dell'applicazione in produzione. L'applicazione \u00e8 in esecuzione? \u00c8 in ordine? \u00c8 pronta a ricevere traffico? Come si comporta? Il modo pi\u00f9 comune per affrontare questo problema \u00e8 implementare controlli di salute <i>(health checks)<\/i>. Kubernetes ha due tipi di controlli di salute: <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness e readiness probes<\/a><\/noindex>.<\/p>\n<p>Per il liveness probe <i>(controllo di vitalit\u00e0)<\/i> l'applicazione deve avere un endpoint HTTP che restituisca una risposta \"200 OK\" se sta funzionando e le sue dipendenze principali sono soddisfatte. Per il readiness probe <i>(controllo di prontezza)<\/i> l'applicazione deve avere un altro endpoint HTTP che restituisca la risposta \u00ab200 OK\u00bb, se l'applicazione \u00e8 in uno stato sano, sono stati eseguiti tutti i passaggi di inizializzazione e qualsiasi richiesta valida non causa errori. Kubernetes instrader\u00e0 il traffico al contenitore solo se l'applicazione \u00e8 pronta secondo queste verifiche. Due endpoint possono essere combinati se non c'\u00e8 differenza tra gli stati di vitalit\u00e0 (liveness) e di prontezza (readiness).<\/p>\n<p>Per ulteriori dettagli, puoi leggere l'articolo corrispondente di Sandeep Dinesh, Developer Advocate di Google: \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes\">Kubernetes best practices: Impostare controlli di salute con sonde di prontezza e vitalit\u00e0<\/a><\/noindex>\u00bb.<\/p>\n<h2>7. Scegli con attenzione la versione dell'immagine<\/h2>\n<p>\nLa maggior parte delle immagini pubbliche e private utilizza un sistema di tagging simile a quello descritto in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-building-containers#properly_tag_your_images\">Best Practices for Building Containers<\/a><\/noindex>. Se l'immagine utilizza un sistema simile a <noindex><a rel=\"nofollow\" href=\"https:\/\/semver.org\/lang\/ru\/\">versionamento semantico<\/a><\/noindex>, \u00e8 necessario considerare le specificit\u00e0 del tagging. Ad esempio, il tag <code>latest<\/code> pu\u00f2 spesso spostarsi da un'immagine all'altra: non si pu\u00f2 fare affidamento su di esso se hai bisogno di build e installazioni prevedibili e riproducibili.<\/p>\n<p>Puoi utilizzare il tag <code>X.Y.Z<\/code> (sono quasi sempre invariabili), ma in tal caso segui tutti i patch e aggiornamenti per l'immagine. Se l'immagine utilizzata ha un tag <code>X.Y<\/code>, \u00e8 una buona opzione intermedia. Scegliendolo, ottieni automaticamente i patch e allo stesso tempo ti basi su una versione stabile dell'applicazione.<\/p>\n<h2>P.S. dal traduttore<\/h2>\n<p>\nLeggi anche nel nostro blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/422949\/\">Nuove statistiche CNCF sui contenitori, sul cloud native e su Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353272\/\">7 principi di progettazione delle applicazioni basate su container<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/417905\/\">11 modi (non) per diventare vittima di un attacco in Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">La nostra esperienza con Kubernetes in piccoli progetti<\/a><\/noindex>\u00bb <i>(panoramica e video del relatori)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">Monitoraggio e Kubernetes<\/a><\/noindex>\u00bb <i>(panoramica e video del relatori)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Costruire immagini Docker per CI\/CD in modo rapido e conveniente con dapp<\/a><\/noindex>\u00bb <i>(panoramica e video del relatori)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">Pratiche di Continuous Delivery con Docker<\/a><\/noindex>\u00bb <i>(panoramica e video del relatori)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">La morte della follia dei microservizi nel 2018<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">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.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google. \u0412 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0431\u043b\u043e\u0433\u0430 Google Cloud \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043a\u0440\u0430\u0442\u043a\u0443\u044e \u0432\u044b\u0436\u0438\u043c\u043a\u0443 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u00abBest Practices for Operating Containers\u00bb. \u0412 \u043d\u0451\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b Google \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Google Kubernetes Engine \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e, \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39016","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\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.\" \/>\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\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\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\udd477 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 Google | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\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:27:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:21+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\udd477 migliori pratiche per l'uso dei contenitori secondo Google | ProHoster","description":"Nota del traduttore: L'autore dell'articolo originale \u00e8 Th\u00e9o Chamley, architetto di soluzioni cloud di Google.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","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\udd477 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 Google | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","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:27:21+00:00","article:modified_time":"2019-10-31T19:27:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39016","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 00:24:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:58:39","updated":"2026-01-24 00:24:24","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\/39016","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=39016"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/39016\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/29273"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=39016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=39016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=39016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}