Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
- In de zelfstudie wordt ervan uitgegaan dat u al een Kubernetes-cluster met Arc hebt. Zie Een bestaand Kubernetes-cluster verbinden met Azure Arc om een bestaand Kubernetes-cluster te verbinden met Azure Arc.
- U moet de Azure Container Storage-extensie al hebben geïnstalleerd. Zie Edge-volumes installeren als u dat nog niet hebt gedaan.
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.