Lokala delade gränsvolymer
I den här artikeln beskrivs konfigurationen för lokala delade edge-volymer (högtillgänglig, beständig lokal lagring).
Vad är en lokal delad edge-volym?
Funktionen Lokala delade edge-volymer ger hög tillgänglighet, redundanskompatibel lagring, lokalt för ditt Kubernetes-kluster. Den här delade lagringstypen är fortfarande oberoende av molninfrastrukturen, vilket gör den idealisk för ledigt utrymme, tillfällig lagring och lokalt beständiga data som kan vara olämpliga för molnmål.
Skapa ett beständigt volymanspråk för lokala delade gränsvolymer (PVC) och konfigurera en podd mot PVC
Skapa en fil med namnet
localSharedPVC.yaml
med följande innehåll. Ändra värdetmetadata.name
med ett namn för ditt beständiga volymanspråk. På rad 8 anger du sedan det namnområde som matchar den avsedda podden. Värdetmetadata.name
refereras till på den sista radendeploymentExample.yaml
i i nästa steg. Parameternspec.resources.requests.storage
avgör storleken på den beständiga volymen. Det är 2 GB i det här exemplet, men kan ändras så att det passar dina behov:Kommentar
Använd endast gemener och bindestreck. Mer information finns i dokumentationen om namngivning av Kubernetes-objekt.
kind: PersistentVolumeClaim apiVersion: v1 metadata: ### Create a name for your PVC ### name: <create-a-pvc-name-here> ### Use a namespace that matches your intended consuming pod, or "default" ### namespace: <intended-consuming-pod-or-default-here> spec: accessModes: - ReadWriteMany resources: requests: storage: 2Gi storageClassName: unbacked-sc
Skapa en fil med namnet
deploymentExample.yaml
med följande innehåll. Lägg till värden förcontainers.name
ochvolumes.persistentVolumeClaim.claimName
. Parameternspec.replicas
avgör hur många replikpoddar som ska skapas. Det är 2 i det här exemplet, men kan ändras för att passa dina behov:Kommentar
Använd endast gemener och bindestreck. Mer information finns i dokumentationen om namngivning av Kubernetes-objekt.
apiVersion: apps/v1 kind: Deployment metadata: name: localsharededgevol-deployment ### This will need to be unique for every volume you choose to create spec: replicas: 2 selector: matchLabels: name: wyvern-testclientdeployment template: metadata: name: wyvern-testclientdeployment labels: name: wyvern-testclientdeployment spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - wyvern-testclientdeployment topologyKey: kubernetes.io/hostname containers: ### Specify the container in which to launch the busy box. ### - name: <create-a-container-name-here> image: 'mcr.microsoft.com/mirror/docker/library/busybox:1.35' command: - "/bin/sh" - "-c" - "dd if=/dev/urandom of=/data/acsalocalsharedtestfile count=16 bs=1M && while true; do ls /data &>/dev/null || break; sleep 1; done" volumeMounts: ### This name must match the following volumes::name attribute ### - name: wyvern-volume ### This mountPath is where the PVC will be attached to the pod's filesystem ### mountPath: /data volumes: ### User-defined name that is used to link the volumeMounts. This name must match volumeMounts::name as previously specified. ### - name: wyvern-volume persistentVolumeClaim: ### This claimName must refer to your PVC metadata::name from lsevPVC.yaml. claimName: <your-pvc-metadata-name-from-line-5-of-pvc-yaml>
Om du vill tillämpa dessa YAML-filer kör du:
kubectl apply -f "localSharedPVC.yaml" kubectl apply -f "deploymentExample.yaml"
Kör
kubectl get pods
för att hitta namnet på din podd. Kopiera det här namnet eftersom det behövs i nästa steg.Kommentar
Eftersom
spec::replicas
fråndeploymentExample.yaml
har angetts som2
visas två poddar med .kubectl get pods
Du kan välja vilket poddnamn som ska användas för nästa steg.Kör följande kommando och ersätt
POD_NAME_HERE
med det kopierade värdet från föregående steg:kubectl exec -it pod_name_here -- sh
Ändra kataloger till monteringssökvägen enligt beskrivningen
/data
ideploymentExample.yaml
.Skapa till exempel en fil med namnet
file1.txt
och skriv till den med hjälp avecho "Hello World" > file1.txt
.
När du har slutfört föregående steg börjar du övervaka distributionen med Azure Monitor och Kubernetes Monitoring, eller övervakning från tredje part med Prometheus och Grafana.