Scegliere una politica di pull di immagine in Kubernetes

Scegliere una politica di pull di immagine in Kubernetes

Questo articolo sottolinea i numerosi vantaggi che puoi ottenere utilizzando una politica di tiro dell'immagine in Kubernetes e come scegliere correttamente una politica di tiro dell'immagine e i fattori di cui dovremmo essere diffidenti quando si sceglie una politica di pull di immagine. Troverai tutti i dettagli qui con una spiegazione corretta. Troverai anche le informazioni sui vantaggi dell'utilizzo di una politica di pull di immagine e quali fattori dovresti considerare durante la scelta. Cominciamo con la definizione della politica di pull di immagine di Kubernetes.

Qual è la politica di pull di immagine di Kubernetes?

La politica di immagine di Kubernetes è un meccanismo in Kubernetes che consente di limitare le immagini che possono essere estratte da un repository. Le immagini possono essere tirate utilizzando il comando Kubeadm Image Pull o come parte di un manifest di distribuzione. Il criterio Pull immagine può essere configurato per uno spazio dei nomi specifico, un pod o un set di pod che utilizzano richieste e limiti di risorse.

Tipo di modalità

Ha tre modalità:

  • Consenti a qualsiasi immagine di essere inserita nello spazio dei nomi.
  • Consenti solo alle immagini che corrispondono a un criterio specifico (E.G., tag) per essere tirato nello spazio dei nomi.
  • Limitare tutte le immagini di essere tirate nello spazio dei nomi.

L'oggetto politico immagine definisce l'elenco dei tag di immagine consentiti e l'elenco dei tag proibiti. L'oggetto politico di immagine viene applicato a uno spazio dei nomi. Quindi, si applica a tutti i pod creati in esso.

Una politica di pull di immagine assomiglia a questa:

Spec:
Contenitori:
- Nome: nginxdeployment
Immagine: nginx: ultimo
ImagePullPolicy: ifnotpresent
Porte:
- Containerport: 80

Il termine "Imgepullpolicy: ifnotpresent" viene visualizzato qui. Attualmente ha il valore ifnotpresent. Indica che se l'immagine del contenitore non è già presente sull'host o sul lavoratore che distribuisce l'applicazione Kubernetes, questa opzione la tirerà. Nel caso di Nginx: ultima immagine del contenitore, ad esempio, Kubernetes non tira (scarica) Se l'immagine esiste già.

Quali sono i vantaggi dell'utilizzo di una politica di estrazione dell'immagine?

L'uso di una politica di immagine nelle distribuzioni di Kubernetes ha numerosi vantaggi. Il vantaggio più ovvio è che ti aiuta a assicurarti che le tue immagini siano coerenti e aggiornate.

Tuttavia, ci sono molti altri vantaggi oltre a questo se si implementa una politica di immagine. Ecco alcuni dei vantaggi di utilizzare una politica di immagine nelle distribuzioni di Kubernetes:

Le immagini sono attuali e coerenti

Ciò consente di aggiornare l'applicazione in modo coerente ogni volta che vengono aggiunte nuove funzionalità o quando vengono scoperte nuove vulnerabilità. Questa coerenza consente di semplificare il processo di distribuzione e ridurre i tempi di inattività per gli utenti assicurando che tutte le tue applicazioni abbiano sempre le stesse funzionalità e la stessa immagine di base.

Ti aiuta a semplificare il processo di distribuzione

Una politica di pull di immagine è una serie di migliori pratiche che ti aiutano a semplificare il processo di distribuzione automatizzando la maggior parte delle attività che di solito si eseguono manualmente. Ad esempio, è possibile creare un criterio di tiro dell'immagine che installa automaticamente tutte le dipendenze richieste per l'applicazione su un contenitore fresco senza richiedere di digitare uno dei comandi da solo.

Aumento della precisione

Poiché l'immagine pull è una politica che specifica il modo in cui le immagini vengono estratte dall'archiviazione remota per impostazione predefinita, Kubernetes utilizza l'ultima immagine dal repository specificato. Tuttavia, l'uso di una politica di tiro dell'immagine garantisce che l'immagine utilizzata sia sempre la stessa di quella specificata nella politica. Ciò è particolarmente importante se si utilizza un registro esterno per archiviare le tue immagini poiché le immagini che sono archiviate in quel registro possono differire da quelle che sono archiviate nel cluster Kubernetes.

Quali fattori da considerare quando si sceglie una politica di estrazione dell'immagine

I numerosi vantaggi dell'utilizzo delle politiche di pull di immagine rendono la pena fare di tutto per implementarle. Ma ci sono molte cose da tenere in considerazione quando si seleziona una politica di pull di immagine per una distribuzione di Kubernetes.

Ecco alcuni dei fattori critici che dovresti considerare:

La frequenza degli aggiornamenti dell'immagine

Quante volte è necessario aggiornare le immagini che usi nelle tue applicazioni containerizzate?

La tua decisione su come gestire il tuo repository di immagini dovrebbe essere basata sulla risposta a questa domanda. Se l'applicazione è di lunga durata, potrebbe essere necessario scegliere il GIT-LFS per conservare una cronologia dei tag e dei contenuti dell'immagine nel tempo. Per le applicazioni a breve termine, l'utilizzo di GIT può essere uno spreco di risorse perché richiede di mantenere una storia delle chiazze nel tuo repository, aumentando le dimensioni di archiviazione. Se l'applicazione non richiede un record, potrebbe essere più efficiente in termini di costi utilizzare qualcosa come un webhook per aggiornare un tag immagine di un contenitore ogni volta che una nuova immagine viene spinta al repository. Utilizzando il registro Docker Hub, è possibile utilizzare la politica di pull immagine del repository per gestire il modo in cui le immagini vengono aggiornate in base ai requisiti dell'applicazione.

Supporto del formato di immagine

Quali formati di immagini utilizza l'applicazione? Diverse applicazioni possono utilizzare altri formati di immagine in base al tipo di contenitori che stanno utilizzando. Ad esempio, è possibile eseguire un contenitore alpino Linux che utilizza per impostazione predefinita, mentre un'applicazione PHP utilizza un'immagine basata su CentOS.

Le politiche non dovrebbero essere troppo restrittive

Uno dei fattori più critici che dovresti considerare quando si sceglie un'immagine per tirare la politica è assicurarsi che le politiche non siano troppo restrittive e consentano una continua innovazione.

Le politiche non dovrebbero essere troppo confuse

Le politiche dovrebbero essere scritte in un modo che può essere compreso dagli sviluppatori, ma anche dai revisori e dai professionisti della sicurezza.

Avere equilibrio nelle politiche

È fondamentale avere un equilibrio tra queste politiche in quanto influiscono su quanto sia facile per gli sviluppatori scrivere il codice e distribuirlo.

Conclusione

Questo articolo sottolinea quale sia la politica di pull di immagine di Kubernetes. E a causa dei numerosi vantaggi dell'utilizzo delle politiche di tiro dell'immagine, abbiamo anche discusso del perché dovremmo fare di tutto per usare le politiche di tiro dell'immagine. Questo articolo discute ulteriormente i fattori che dovresti prendere in considerazione prima di scegliere una politica di estrazione dell'immagine per garantire che le politiche di tiro dell'immagine siano più adatte alle tue esigenze.