Kubernetes Hostpath Volumes

Kubernetes Hostpath Volumes

Et hostpath -volum peker på et bestemt filsystemkontakt eller katalog på noden. I Kubernetes er det forskjellige volumtyper. Fordi Gitrepo- og EmptyDir -volum blir slettet, er vertspatvolumet fordelaktig i Kubernetes -applikasjoner fordi det bevarer innholdet i volumene. Hostpath -volumet og Kubernetes Volumes -typen er diskutert i denne artikkelen. Du lærer hvordan du lanserer Minikube og bygger en YAML -fil manifestert i denne artikkelen. Du vil da bli veiledet trinn for trinn gjennom konfigurasjonen av HostPath-volumet og opprettelsen av POD-volumet.

Hva er Kubernetes volum?

Containerne i en Kubernetes -pod kan få tilgang til en datakatalog kalt et Kubernetes -volum. Avhengig av den spesielle typen volum som brukes, varierer katalogens beliggenhet, lagringsmediet som støtter det, og innholdet varierer.

Prosessene i en pod av containere ser en filsystemvisning som består av følgende:

    • Et rotfilsystem som er identisk med containerbildets innhold.
    • Containere som er montert med volum (hvis definert). Innenfor beholderfilsystemet monteres hvert volum på en distinkt bane.

De .spesifikasjon.Containere [*].Volumemounts definerer volumene. For hvert beholderbilde som er inneholdt i poden, må du oppgi volumene og monteringsstiene for hver pod.

I Kubernetes er det forskjellige volumtyper som:

    • Vedvarende volum
    • EmptyDir Volumes
    • Evhemerale bind
    • Kubernetes Volumes ConfigMap
    • Kubernetes Hostpath Volumes

Hva er Kubernetes Hostpath Volumes?

I Kubernetes betyr HostPath å montere ressursene som filer, stikkontakter eller kataloger fra verten eller noden inne i POD. VertPath kan spesifisere ting som katalog som allerede skal være eksisterende eller bør opprettes ved POD -opprettelsen.

Som det fremgår av den følgende figuren, peker et HostPath -volum på ressursene på nodens filsystem. De samme filene er synlige for alle belg som bruker samme vertspatvolum og fungerer på samme node.


Figur 1: Filer eller kataloger med en arbeiderknute er montert i beholderens filsystem med et HostPath -volum.

Når en pod blir ødelagt, blir innholdet i Gitrepo- og EmptyDir -volumene slettet, men ikke innholdet i vertssti -volumet. Følgende POD er ​​i stand til å se alle filer som den slettede pod som er igjen hvis den er tilordnet den samme noden som den forrige og bruker et vertspatvolum som refererer til samme vei på verten.

Følgende er viktige tilfeller av vertsstatsvolum. Selv om de fleste belg ikke vil kreve det, gir det en sterk rømningsluk i noen situasjoner:

    • Bruker pod for å distribuere noen få noder spesifikke filer.
    • Kjører en container som trenger tilgang til Docker Internals ved hjelp av følgende kommando:
>/var/lib/dockerhostpath
    • Kjører Cadvisor i en beholder ved hjelp av følgende kommando:
> /sys hostpath
    • Slik at en pod kan spesifisere en vertssti for å erklære om en bestemt vertssti må eksistere eller bli opprettet før poden kjører.
    • Velge en type for vertspatvolumet; Dette kan konfigureres i tillegg til den nødvendige banen attributtet.

Hvordan du konfigurerer og oppretter en hostpath

La oss begynne å lære hvordan du konfigurerer vertsstien og lager den.

Trinn 1: Start Minikube -serveren

I det første trinnet, start Minikube -serveren slik at du kan bruke KUBECTL -kommandoene og kjøre applikasjonen. Minikube lar deg distribuere nodene og belgene i Kubernetes -miljøet. Følgende kommando må brukes til å opprettholde Minikube i aktiv modus:

> Minikube Start


Dette aktiverer Minikube og gjør Kubernetes -miljøet klart til bruk.


Trinn 2: Opprett en Kubernetes YAML -fil

Du lærer hvordan du lager en YAML -manifestfil for Kubernetes i dette trinnet. Søknadstesting og distribusjon på Kubernetes krever YAML -filene.

Når du bruker Kubernetes, er en typisk handling tendensen til å søke etter Kubernetes YAML -filer når vi har tenkt å distribuere en testpod.

Når du bruker Kubernetes, er det flere forskjellige måter å generere og redigere filene. Denne artikkelen forklarer hvordan du bruker Nano -kommandoen til å opprette en YAML -fil fordi den er det beste valget for nybegynnere.

Følg disse trinnene for å opprette en YAML -fil ved hjelp av Nano:

    • Start Minikube.
    • For å bygge en ny fil eller endre en eksisterende, naviger du til plasseringen av ønsket katalog.
    • Filens navn skal følges av Nano. For eksempel vil du lage en ny fil som heter Host.Yaml.

Kjør følgende kommando for å konstruere en YAML -filvert i prosjektkatalogen:

> $ nano vert.Yaml


Filen opprettes etter at kommandoen er utført. Neste trinn er å jobbe med den nyåpnede verten.YAML -fil.

Trinn 3: Konfigurer Hostpath Volumemount

Følg disse to trinnene for å lage et volum og gjøre det tilgjengelig for en pod:

    • Spesifiser det i spesifikasjonen: Volumelementet i pod -malen før du distribuerer poden til noen få noder.
    • Monter volumet ved hjelp av spesifikasjonen: Containere: Navn>: Volumkommando til en bestemt containermonteringsegenskap.

Disse handlingene henger sammen. Du må montere et volum til en beholder når du oppretter det. Du kan ikke montere et volum uten å definere det først i pod -konfigurasjonen. Et utvalg av å lage og montere et volum i et YAML -pod -maloppsett er gitt i det følgende:

> Spesifikasjon:
Containere:
-Navn: App-One
Bilde: Nginx-One
Volumemounts:
-Navn: Volum-One
mountpath: /app /config
Volum:
-Navn: Volum-One



I den medfølgende koden kan vi observere at:

    • Det navngitte test-volumet er opprettet i spesifikasjonen.Volum av volumkommandoen og er festet til pod.
    • Finn vertsstien i pod -spesifikasjonen. Den spesielle banen/data opprettes fordi typen: DirectoryorCreate betyr at banen skal opprettes hvis den ikke er der.
    • /Dataene er på noden der poden er sendups og den er montert inne i beholderen i /test-pd-katalogen.
    • Volumerklæringen og Volumemounts -egenskapen krever begge samme volumnavn som skal brukes.

Trinn 4: Opprett vertspatvolumpod

I dette trinnet, la oss bruke (verten.YAML) YAML -fil for å bygge et HostPath -volum som vist i følgende:

> $ kubectl opprette -f vert.Yaml


Som sett i det nevnte skjermbildet, er pod som kalles “Test-PD” vellykket bygget.

Konklusjon

Denne artikkelen gir en generell oversikt over HostPath og demonstrerer hvordan du oppretter og konfigurerer vertsstatens monteringer i praksis. Som en del av HostPaths funksjon som forhindrer at dataene fra nodens filsystem blir slettet når en pod fjernes, selv om HostPath har mange fordeler, er det også flere sikkerhetsfarer. Unngå å bruke det når du kan. Et hostpath -volum skal bare scopes til den nødvendige katalogen eller filen, og det skal monteres som readonly hvis du må bruke en. I denne artikkelen lærte du hvordan du kan etablere et pod-volum trinn for trinn ved å bruke et enkelt eksempel, samtidig som du lærer hvordan du lager en bane i vertsstien og monterer den i beholderen.