Lokale gedeelde edge-volumes
In dit artikel wordt de configuratie voor lokale gedeelde edge-volumes (maximaal beschikbare, duurzame lokale opslag) beschreven.
Wat is een lokaal gedeeld edge-volume?
De functie Lokale gedeelde edge-volumes biedt maximaal beschikbare opslag die geschikt is voor failover, lokaal voor uw Kubernetes-cluster. Dit type gedeelde opslag blijft onafhankelijk van de cloudinfrastructuur, waardoor het ideaal is voor scratchruimte, tijdelijke opslag en lokaal persistente gegevens die mogelijk ongeschikt zijn voor cloudbestemmingen.
Maak een lokale Shared Edge Volumes Persistent Volume Claim (PVC) en configureer een pod tegen de PVC
Maak een bestand met de naam
localSharedPVC.yaml
met de volgende inhoud. Wijzig demetadata.name
waarde met een naam voor uw permanente volumeclaim. Geef vervolgens in regel 8 de naamruimte op die overeenkomt met de beoogde verbruikspod. Ermetadata.name
wordt naar de waarde verwezen op de laatste regel vandeploymentExample.yaml
de volgende stap. Despec.resources.requests.storage
parameter bepaalt de grootte van het permanente volume. In dit voorbeeld is het 2 GB, maar kan worden aangepast aan uw behoeften:Notitie
Gebruik alleen kleine letters en streepjes. Zie de documentatie voor de naamgeving van Kubernetes-objecten voor meer informatie.
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
Maak een bestand met de naam
deploymentExample.yaml
met de volgende inhoud. Waarden toevoegen voorcontainers.name
envolumes.persistentVolumeClaim.claimName
. Despec.replicas
parameter bepaalt het aantal replicapods dat moet worden gemaakt. Het is 2 in dit voorbeeld, maar kan worden aangepast aan uw behoeften:Notitie
Gebruik alleen kleine letters en streepjes. Zie de documentatie voor de naamgeving van Kubernetes-objecten voor meer informatie.
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>
Als u deze YAML-bestanden wilt toepassen, voert u het volgende uit:
kubectl apply -f "localSharedPVC.yaml" kubectl apply -f "deploymentExample.yaml"
Voer
kubectl get pods
deze opdracht uit om de naam van uw pod te vinden. Kopieer deze naam, omdat deze nodig is in de volgende stap.Notitie
Omdat
spec::replicas
vandeploymentExample.yaml
is opgegeven als2
, worden twee pods weergegeven met behulp vankubectl get pods
. U kunt kiezen welke podnaam u wilt gebruiken voor de volgende stap.Voer de volgende opdracht uit en vervang deze door
POD_NAME_HERE
de gekopieerde waarde uit de vorige stap:kubectl exec -it pod_name_here -- sh
Wijzig mappen in het
/data
koppelpad, zoals opgegeven indeploymentExample.yaml
.Maak bijvoorbeeld een bestand met de naam
file1.txt
en schrijf ernaar met behulp vanecho "Hello World" > file1.txt
.
Nadat u de vorige stappen hebt voltooid, begint u met het bewaken van uw implementatie met behulp van Azure Monitor en Kubernetes Monitoring of bewaking van derden met Prometheus en Grafana.