Delen via


Zelfstudie: Een lokaal gedeeld edge-volume configureren (preview)

In deze zelfstudie leert u hoe u een lokaal gedeeld edge-volume configureert. Dit volumetype biedt opslag met lees- en schrijftoegang voor meerdere gebruikers, lokaal in uw Kubernetes-cluster. Dit gedeelde opslagtype blijft onafhankelijk van de cloudinfrastructuur, waardoor het ideaal is voor scratchruimte, tijdelijke opslag en lokaal permanente gegevens die niet geschikt zijn voor cloudbestemmingen. Het is ook een goede bestemming voor gegevens waaraan actief wordt gewerkt, gewijzigd of verwerkt aan de rand.

In de zelfstudie worden de volgende taken behandeld:

  • Een lokaal gedeeld Edge Volume PVC aanmaken
  • Een voorbeeldimplementatie maken
  • Verbinding maken met uw pod
  • Een voorbeeldbestand schrijven

Vereiste voorwaarden

Een lokaal gedeeld Edge Volume PVC aanmaken

In deze sectie wordt een Persistent Volume Claim (PVC) voor uw lokale gedeelde volume gemaakt. U geeft op hoeveel ruimte u wilt inrichten voor dit volume.

Maak een bestand met de naam localSharedPVC.yaml met de volgende inhoud. Wijzig de metadata.name waarde met een naam voor uw permanente volumeclaim. Geef vervolgens in regel 8 de naamruimte op die overeenkomt met de beoogde verbruikspod. De waarde metadata.name wordt aangeduid op de laatste regel van deploymentExample.yaml in de volgende stap. De spec.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:

Opmerking

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

Voer vervolgens deze opdracht uit om het YAML-bestand toe te passen en het PVC te maken:

kubectl apply -f "localSharedPVC.yaml"

Een voorbeeldimplementatie maken of uw eigen implementatie gebruiken

Als u al een toepassing hebt waarop u wilt implementeren, kunt u deze hier gebruiken. Ter vereenvoudiging en om aan de slag te gaan, nemen we hier een voorbeeldimplementatie op. Als u een implementatie wilt maken met behulp van onze voorbeeldconfiguratie, maakt u een bestand met de naam deploymentExample.yaml met de volgende inhoud. Waarden toevoegen voor containers.name en volumes.persistentVolumeClaim.claimName. De spec.replicas-parameter bepaalt het aantal replica-pods dat moeten worden gemaakt. Het is 2 in dit voorbeeld, maar kan worden aangepast aan uw behoeften:

Opmerking

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>

Voer vervolgens deze opdracht uit om het YAML-bestand toe te passen en de implementatie te maken:

kubectl apply -f "deploymentExample.yaml"

Verbinding maken met uw pod

Voer kubectl get pods uit om de naam van uw pod te vinden. Kopieer deze naam, omdat deze nodig is in de volgende stap.

Opmerking

Omdat spec::replicas uit deploymentExample.yaml is opgegeven als 2, worden twee pods weergegeven met behulp van kubectl get pods. U kunt een van beide podnamen voor de volgende stap gebruiken.

Voer de volgende opdracht uit en vervang POD_NAME_HERE door uw gekopieerde waarde uit de vorige stap:

kubectl exec -it POD_NAME_HERE -- sh 

Verander van map naar het /data aankoppelingspad, zoals gespecificeerd in deploymentExample.yaml.

Een voorbeeldbestand schrijven

Nu u verbonden bent met de pod en op het aankoppelpunt bent, verschijnen alle bestanden die u hier schrijft in uw volume.

Maak bijvoorbeeld een bestand met de naam file1.txt en schrijf ernaar met behulp van echo "Hello World" > file1.txt.

U kunt nu zien dat het bestand dat u hebt geschreven zich in de map bevindt.

Volgende stappen

Nadat u deze 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.