Bifoga ditt program (förhandsversion)
Den här artikeln förutsätter att du har skapat en beständig volym (PV) och ett beständigt volymanspråk (PVC). Information om hur du skapar en PV finns i Skapa en beständiga volym. Information om hur du skapar en PVC finns i Skapa ett beständiga volymanspråk.
Konfigurera Dataprocessorn för Azure IoT Operations
När du använder Azure IoT Operations (AIO) skapas dataprocessorn utan monteringar för Edge Storage Accelerator. Du kan utföra följande uppgifter:
- Lägg till en montering för Edge Storage Accelerator PVC som du skapade tidigare.
- Konfigurera om alla pipelines utdatasteg till utdata till Edge Storage Accelerator-monteringen som du nyss skapade.
Lägg till Edge Storage Accelerator i dina aio-dp-runner-worker-0-poddar
Dessa poddar är en del av en statefulSet. Du kan inte redigera statefulSet på plats för att lägga till monteringspunkter. Följ i stället den här proceduren:
Dumpa statefulSet till yaml:
kubectl get statefulset -o yaml -n azure-iot-operations aio-dp-runner-worker > stateful_worker.yaml
Redigera statefulSet för att inkludera de nya monteringarna för ESA i volumeMounts och volymer:
volumeMounts: - mountPath: /etc/bluefin/config name: config-volume readOnly: true - mountPath: /var/lib/bluefin/registry name: nfs-volume - mountPath: /var/lib/bluefin/local name: runner-local ### Add the next 2 lines ### - mountPath: /mnt/esa name: esa4 volumes: - configMap: defaultMode: 420 name: file-config name: config-volume - name: nfs-volume persistentVolumeClaim: claimName: nfs-provisioner ### Add the next 3 lines ### - name: esa4 persistentVolumeClaim: claimName: esa4
Ta bort den befintliga tillståndskänsligauppsättningen:
kubectl delete statefulset -n azure-iot-operations aio-dp-runner-worker
Detta tar bort alla
aio-dp-runner-worker-n
poddar. Det här är en händelse på avbrottsnivå.Skapa en ny statefulSet av aio-dp-runner-worker(s) med ESA-monteringarna:
kubectl apply -f stateful_worker.yaml -n azure-iot-operations
aio-dp-runner-worker-n
När poddarna startar inkluderar de monteringar till ESA. PVC bör förmedla detta i tillståndet.När du har konfigurerat om databehandlingsarbetarna så att de har åtkomst till ESA-volymerna måste du manuellt uppdatera pipelinekonfigurationen så att den använder en lokal sökväg som motsvarar den monterade platsen för DIN ESA-volym på arbets-POD:erna.
Om du vill ändra pipelinen använder du
kubectl edit pipeline <name of your pipeline>
. I den pipelinen ersätter du utdatasteget med följande YAML:output: batch: path: .payload time: 60s description: An example file output stage displayName: Sample File output filePath: '{{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}}' format: type: jsonStream rootDirectory: /mnt/esa type: output/file@v1
Konfigurera ett inbyggt Kubernetes-program
Om du vill konfigurera en allmän enskild podd (kubernetes-inbyggt program) mot PVC (Persistent Volume Claim) skapar du en fil med namnet
configPod.yaml
med följande innehåll:kind: Deployment apiVersion: apps/v1 metadata: name: example-static labels: app: example-static ### Uncomment the next line and add your namespace only if you are not using the default namespace (if you are using azure-iot-operations) as specified from Line 6 of your pvc.yaml. If you are not using the default namespace, all future kubectl commands require "-n YOUR_NAMESPACE" to be added to the end of your command. # namespace: YOUR_NAMESPACE spec: replicas: 1 selector: matchLabels: app: example-static template: metadata: labels: app: example-static spec: containers: - image: mcr.microsoft.com/cbl-mariner/base/core:2.0 name: mariner command: - sleep - infinity volumeMounts: ### This name must match the 'volumes.name' attribute in the next section. ### - name: blob ### This mountPath is where the PVC is attached to the pod's filesystem. ### mountPath: "/mnt/blob" volumes: ### User-defined 'name' that's used to link the volumeMounts. This name must match 'volumeMounts.name' as specified in the previous section. ### - name: blob persistentVolumeClaim: ### This claimName must refer to the PVC resource 'name' as defined in the PVC config. This name must match what your PVC resource was actually named. ### claimName: YOUR_CLAIM_NAME_FROM_YOUR_PVC
Kommentar
Om du använder ditt eget namnområde måste
-n YOUR_NAMESPACE
alla framtidakubectl
kommandon läggas till i kommandot. Du måste till exempel användakubectl get pods -n YOUR_NAMESPACE
i stället för standardkubectl get pods
.Kör följande kommando för att tillämpa den här .yaml-filen:
kubectl apply -f "configPod.yaml"
Använd
kubectl get pods
för att hitta namnet på din podd. Kopiera det här namnet eftersom du behöver det 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 -- bash
Ändra kataloger till monteringssökvägen
/mnt/blob
enligt angiven från dinconfigPod.yaml
.Om du till exempel vill skriva en fil kör du
touch file.txt
.I Azure-portalen går du till ditt lagringskonto och letar reda på containern. Det här är samma container som du angav i
pv.yaml
filen. När du väljer din container visasfile.txt
ifylld i containern.
Nästa steg
När du har slutfört de här stegen börjar du övervaka distributionen med Azure Monitor och Kubernetes Monitoring eller övervakning från tredje part med Prometheus och Grafana:
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för