Doporučuje se umístit data podu do nějakého trvalého svazku, aby data byla dostupná i po ukončení podu. V Kubernetes (k8s) lze uvnitř modulů používat trvalé svazky založené na NFS. V tomto článku se naučíme, jak nakonfigurovat trvalý svazek a nárokování trvalého svazku, a poté probereme, jak můžeme použít trvalý svazek prostřednictvím jeho názvu nároku v podech k8s.
Předpokládám, že máme funkční cluster k8s a NFS Server. Níže jsou uvedeny podrobnosti pro nastavení laboratoře
- IP serveru NFS =192.168.1.40
- Sdílení NFS =/opt/k8s-pods/data
- Cluster K8s =jeden hlavní a dva pracovní uzly
Poznámka: Ujistěte se, že server NFS je dosažitelný z pracovních uzlů a pokuste se připojit sdílení nfs ke každému pracovníkovi jednou pro testování.
Vytvořte soubor uvnitř sdílené složky nfs, protože tuto sdílenou složku připojíme do nginx pod později v článku.
[[email protected] ~]$ echo "Dobrý den, úložiště NFS NGINX"> /opt/k8s-pods/data/index.html
Konfigurujte PV (trvalý svazek) na základě NFS
Chcete-li vytvořit trvalý svazek založený na NFS v K8, vytvořte soubor yaml na hlavním uzlu s následujícím obsahem,
[[chráněno e-mailem] ~]$ vim nfs-pv.yamlapiVersion:v1kind:PersistentVolumemetadata: název:nfs-pvspec: kapacita: úložiště:10Gi volumeMode:Souborový systém režimy přístupu: : – – ReadWrite Mnoho Reclaim PolicyOp perzistentní - nfsvers=4.1 nfs: cesta:/opt/k8s-pods/data server:192.168.1.40
Uložte a ukončete soubor
Nyní vytvořte trvalý svazek pomocí výše vytvořeného souboru yaml, spusťte
[[email protected] ~]$ kubectl create -f nfs-pv.yamlpersistentvolume/nfs-pv created[[email protected] ~]$
Spusťte následující příkaz kubectl a ověřte stav trvalého svazku
Výše uvedený výstup potvrzuje, že PV byl úspěšně vytvořen a je dostupný.
Konfigurace trvalého nároku na svazek
Chcete-li připojit trvalý svazek do modulu, musíme zadat jeho nárok na trvalý svazek. Pojďme tedy vytvořit trvalý nárok na svazek pomocí následujícího souboru yaml
[[chráněno e-mailem] ~]$ vi nfs-pvc.yamlapiVersion:v1kind:PersistentVolumeClaimmetadata: name:nfs-pvcspec: storageClassName:nfs accessModes: - ReadWriteMany Uložte a ukončete soubor.
Spusťte příkaz beneath kubectl a vytvořte pvc pomocí výše uvedeného souboru yaml,
[[email protected] ~]$ kubectl create -f nfs-pvc.yamlpersistentvolumeclaim/nfs-pvc created[[email protected] ~]$Po provedení výše řídicí rovina vyhledá trvalý svazek, který splňuje požadavek deklarace se stejným názvem třídy úložiště, a poté deklaraci sváže s trvalým svazkem, příklad je uveden níže:
Výše uvedený výstup potvrzuje, že nárok (nfs-pvc) je spojen s trvalým objemem (nfs-pv).
Nyní jsme připraveni použít trvalý svazek založený na nfs uvnitř podů.
Použít trvalý svazek založený na NFS uvnitř podu
Vytvořte pod nginx pomocí pod souborem yaml, připojí trvalý nárok na svazek na „/usr/share/nginx/html“
[[email protected] ~]$ vi nfs-pv-podapiVersion:v1kind:Podmetadata: name:nginx-pv-podspec: volumes: - name:nginx-pv-storage persistentVolumeClaim: n claim name:nginx image:nginx porty: - containerPort:80 name:"nginx-server" volumeMounts: - mountPath:"/usr/share/nginx:p-v html"Uložte a zavřete soubor.
Nyní vytvořte pod pomocí výše uvedeného souboru yaml, spusťte
[[email protected] ~]$ kubectl create -f nfs-pv-pod.yamlpod/nginx-pv-pod created[[email protected] ~]$[[email protected] ~]$ kubectl get pod nginx- PV-POD -O WideName Ready Stav restartuje věk IP uzel nominovaný uzel připravenost Gatesnginx-PV-POD 1/1 běh 0 66s 172.16.140.28 K8S-Worker-2[[e-mail chráněn] ~] $ Poznámka: Chcete-li získat další podrobnosti o pod, kubectl popište pod
Výše uvedený výstup příkazů potvrzuje, že modul byl úspěšně vytvořen. Nyní se pokuste otevřít stránku nginx pomocí příkazu curl
[[email protected] ~]$ curl http://172.16.140.28Dobrý den, úložiště NFS NGINX[[email protected] ~]$Perfektní, výstup příkazu curl potvrzuje, že trvalý svazek je správně připojen uvnitř modulu, když získáváme obsah souboru index.html, který je přítomen na sdílené složce NFS.
Tímto článek končí, věřím, že máte základní představu o tom, jak nakonfigurovat a používat trvalý svazek založený na NFS uvnitř modulů Kubernetes.
Přečtěte si také :Jak nastavit Kubernetes(k8s) Cluster v HA pomocí Kubeadm
Přečtěte si také :Jak nainstalovat a používat Helm v Kubernetes
Linux