Un volume del percorso host punta a un particolare socket o directory del file system sul nodo. In Kubernetes, ci sono vari tipi di volume. Poiché vengono cancellati i volumi di Gitrepo e vuoto, il volume del percorso host è vantaggioso nelle applicazioni Kubernetes perché conserva il contenuto dei volumi. Il volume di HostPath e il tipo di volumi di Kubernetes sono discussi in questo articolo. Imparerai come lanciare il minikube e creare un manifest di file yaml in questo articolo. Sarai quindi guidato passo per passo attraverso la configurazione del volume Hostpath e la creazione del volume del pod.
Quali sono i volumi di Kubernetes?
I contenitori in un pod Kubernetes possono accedere a una directory di dati chiamata volume Kubernetes. A seconda del particolare tipo di volume utilizzato, della posizione della directory, del mezzo di archiviazione che lo supporta e i suoi contenuti variano.
I processi all'interno di un baccello di contenitori vedono una vista file system composta da quanto segue:
IL .spec.contenitori [*].VolumeMounts definisce i volumi. Per ogni immagine del contenitore contenuto all'interno del pod, è necessario fornire i volumi e i percorsi di montaggio per ciascun pod.
In Kubernetes, ci sono vari tipi di volume come:
Quali sono i volumi di hostpath di Kubernetes?
In Kubernetes, il percorso host significa montare le risorse come file, prese o directory dall'host o dal nodo all'interno del pod. Il percorso host può specificare cose come la directory che dovrebbero già essere esistenti o dovrebbero essere create alla creazione di pod.
Come visto nella figura seguente, un volume del percorso host indica le risorse sul file system del nodo. Gli stessi file sono visibili a tutti i pod che utilizzano lo stesso volume Hostpath e funzionano sullo stesso nodo.
Figura 1: I file o le directory di un nodo lavoratore sono montati nel file system del contenitore da un volume di percorso host.
Quando un pod viene distrutto, il contenuto dei volumi di Gitrepo e EmptyDir viene cancellato, ma non il contenuto del volume del percorso host. Il seguente pod è in grado di visualizzare tutti i file che il pod cancellato ha lasciato indietro se è assegnato allo stesso nodo di quello precedente e utilizza un volume del percorso host che si riferisce allo stesso percorso sull'host.
I seguenti sono importanti casi di utilizzo del volume del percorso host. Sebbene la maggior parte dei pod non lo richieda, fornisce un forte portello di fuga in alcune situazioni:
>/var/lib/DockerhostPath
> /sys hostpath
Come configurare e creare un percorso host
Cominciamo a imparare come configurare il percorso host e crearlo.
Passaggio 1: avviare il server minikube
Nel primo passaggio, avvia il server minikube in modo da poter utilizzare i comandi Kubectl ed eseguire l'applicazione. Il minikube ti consente di distribuire i tuoi nodi e pod nell'ambiente Kubernetes. Il comando seguente deve essere utilizzato per mantenere il minikube in modalità attiva:
> Minikube Start
Questo attiva il minikube e rende l'ambiente Kubernetes pronto per l'uso.
Passaggio 2: crea un file yaml kubernetes
Imparerai come creare un file manifest YAML per Kubernetes in questo passaggio. Test dell'applicazione e distribuzione su Kubernetes richiedono i file YAML.
Quando si utilizza Kubernetes, un'azione tipica è la tendenza a cercare i file YAML di Kubernetes ogni volta che intendiamo distribuire un pod di test.
Quando si utilizza Kubernetes, ci sono diversi modi per generare e modificare i file. Questo articolo spiega come utilizzare il comando nano per creare un file yaml perché è la scelta migliore per i principianti.
Segui questi passaggi per creare un file YAML usando Nano:
Esegui il comando seguente per costruire un host file YAML nella directory del progetto:
> $ nano host.Yaml
Il file viene creato dopo l'esecuzione del comando. Il prossimo passo è lavorare sull'host appena aperto.file yaml.
Passaggio 3: configurare il volumemount hostpath
Per creare un volume e renderlo disponibile per un pod, segui questi due passaggi:
Queste azioni sono correlate. È necessario montare un volume su un contenitore quando lo crei. Non è possibile montare un volume senza definirlo prima nella configurazione del pod. Viene fornito un campione di creazione e montaggio di un volume in una configurazione del modello di baccello YAML:
> Spec:
Contenitori:
-Nome: app-one
Immagine: nginx-one
VolumeMounts:
-Nome: Volume-One
MountPath: /app /config
Volumi:
-Nome: Volume-One
Nel codice fornito, possiamo osservare che:
Passaggio 4: crea il pod del volume Hostpath
In questo passaggio, usiamo l'host.YAML) File YAML per creare un volume del percorso host come mostrato nel seguente:
> $ kubectl Crea host -f.Yaml
Come visto nello screenshot di cui sopra, il pod chiamato "test-PD" viene costruito con successo.
Conclusione
Questo articolo fornisce una panoramica generale di HostPath e dimostra come creare e configurare i supporti per il percorso host in pratica. Come parte della funzione di HostPath che impedisce la cancellazione dei dati del file system del nodo quando viene rimosso un pod, sebbene HostPath abbia molti vantaggi, ci sono anche diversi pericoli per la sicurezza. Evita di utilizzarlo ogni volta che puoi. Un volume del percorso host deve essere espulso solo alla directory o al file necessario e dovrebbe essere montato come lettura se è necessario usarne uno. In questo articolo, hai imparato come stabilire con successo un volume di pod passo per fase usando un esempio facile imparando anche come creare un percorso nel percorso host e montarlo nel contenitore.