Alternativ: OneLake-konfiguration för Cloud Ingest Edge-volymer
Den här artikeln beskriver en alternativ konfiguration för Cloud Ingest Edge-volymer (blobuppladdning med lokal rensning) för OneLake Lakehouses.
Konfigurera OneLake för tilläggsidentitet
Lägga till tilläggsidentitet i OneLake-arbetsytan
- Gå till OneLake-portalen; till exempel
https://youraccount.powerbi.com
. - Skapa eller navigera till din arbetsyta.
- Välj Hantera åtkomst.
- Välj Lägg till personer eller grupper.
- Ange ditt tilläggsnamn från Azure Container Storage som aktiveras av Azure Arc-installationen. Det här namnet måste vara unikt i din klientorganisation.
- Ändra listrutan för behörigheter från Visningsprogram till Deltagare.
- Markera Lägga till.
Skapa ett cloud Ingest Persistent Volume Claim (PVC)
Skapa en fil med namnet
cloudIngestPVC.yaml
med följande innehåll. Ändra värdetmetadata.name
med ett namn för ditt beständiga volymanspråk. Det här namnet refereras till på den sista radendeploymentExample.yaml
i i nästa steg. Du måste också uppdaterametadata.namespace
värdet med din avsedda förbrukningspodd. Om du inte har en avsedd förbrukningspoddmetadata.namespace
ärdefault
värdet .Kommentar
Använd endast gemener och bindestreck. Mer information finns i dokumentationen om namngivning av Kubernetes-objekt.
kind: PersistentVolumeClaim apiVersion: v1 metadata: ### Create a nane 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: cloud-backed-sc
Om du vill tillämpa
cloudIngestPVC.yaml
kör du:kubectl apply -f "cloudIngestPVC.yaml"
Koppla delvolym till Edge-volym
Du kan använda följande process för att skapa en delvolym med hjälp av tilläggsidentitet för att ansluta till din OneLake LakeHouse.
Hämta namnet på din Edge-volym med hjälp av följande kommando:
kubectl get edgevolumes
Skapa en fil med namnet
edgeSubvolume.yaml
och kopiera/klistra in följande innehåll. Följande variabler måste uppdateras med din information:Kommentar
Använd endast gemener och bindestreck. Mer information finns i dokumentationen om namngivning av Kubernetes-objekt.
metadata.name
: Skapa ett namn för delmängden.spec.edgevolume
: Det här namnet hämtades från föregående steg med hjälp avkubectl get edgevolumes
.spec.path
: Skapa ett eget underkatalognamn under monteringssökvägen. Följande exempel innehåller redan ett exempelnamn (exampleSubDir
). Om du ändrar det här sökvägsnamnet måste rad 33 ideploymentExample.yaml
uppdateras med det nya sökvägsnamnet. Om du väljer att byta namn på sökvägen ska du inte använda ett föregående snedstreck.spec.container
: Information om din One Lake Data Lake Lake Lakehouse (till exempel<WORKSPACE>/<DATA_LAKE>.Datalake/Files
).spec.storageaccountendpoint
: Slutpunkten för lagringskontot är prefixet för din Power BI-webblänk. Om din OneLake-sida till exempel ärhttps://contoso-motors.powerbi.com/
ärhttps://contoso-motors.dfs.fabric.microsoft.com
slutpunkten .
apiVersion: "arccontainerstorage.azure.net/v1" kind: EdgeSubvolume metadata: name: <create-a-subvolume-name-here> spec: edgevolume: <your-edge-volume-name-here> path: exampleSubDir # If you change this path, line 33 in deploymentExample.yaml must to be updated. Don't use a preceding slash. auth: authType: MANAGED_IDENTITY storageaccountendpoint: "https://<Your AZ Site>.dfs.fabric.microsoft.com/" # Your AZ site is the root of your Power BI OneLake interface URI, such as https://contoso-motors.powerbi.com container: "<WORKSPACE>/<DATA_LAKE>.Datalake/Files" # Details of your One Lake Data Lake Lakehouse ingestPolicy: edgeingestpolicy-default # Optional: See the following instructions if you want to update the ingestPolicy with your own configuration
Om du vill tillämpa
edgeSubvolume.yaml
kör du:kubectl apply -f "edgeSubvolume.yaml"
Valfritt: Ändra ingestPolicy
från standardvärdet
Om du vill ändra
ingestPolicy
från standardvärdetedgeingestpolicy-default
skapar du en fil med namnetmyedgeingest-policy.yaml
med följande innehåll. Följande variabler måste uppdateras med dina inställningar:Kommentar
Använd endast gemener och bindestreck. Mer information finns i dokumentationen om namngivning av Kubernetes-objekt.
metadata.name
: Skapa ett namn för .ingestPolicy
Det här namnet måste uppdateras och refereras till i avsnittet ispec.ingestPolicy
dinedgeSubvolume.yaml
.spec.ingest.order
: I vilken ordning smutsiga filer laddas upp. Det här är bästa sättet, inte en garanti (standardvärdetoldest-first
är ). Alternativ för beställning är:oldest-first
ellernewest-first
.spec.ingest.minDelaySec
: Det minsta antalet sekunder innan en smutsig fil är berättigad till inmatning (standardvärdet är 60). Det här talet kan vara mellan 0 och 31536000.spec.eviction.order
: Hur filer tas bort (standardvärdet ärunordered
). Alternativ för borttagningsordning är:unordered
ellernever
.spec.eviction.minDelaySec
: Antalet sekunder innan en ren fil är berättigad till borttagning (standardvärdet är 300). Det här talet kan vara mellan 0 och 31536000.
apiVersion: arccontainerstorage.azure.net/v1 kind: EdgeIngestPolicy metadata: name: <create-a-policy-name-here> # This will need to be updated and referenced in the spec.ingestPolicy section of the edgeSubvolume.yaml spec: ingest: order: <your-ingest-order> minDelaySec: <your-min-delay-sec> eviction: order: <your-eviction-order> minDelaySec: <your-min-delay-sec>
Om du vill tillämpa
myedgeingest-policy.yaml
kör du:kubectl apply -f "myedgeingest-policy.yaml"
Bifoga din app (kubernetes-inbyggt program)
Om du vill konfigurera en allmän enskild podd (kubernetes-inbyggt program) mot PVC (Persistent Volume Claim) skapar du en fil med namnet
deploymentExample.yaml
med följande innehåll. Ersätt värdena förcontainers.name
ochvolumes.persistentVolumeClaim.claimName
med dina egna. Om du har uppdaterat sökvägsnamnet frånedgeSubvolume.yaml
exampleSubDir
måste rad 33 uppdateras med det nya sökvägsnamnet.Kommentar
Använd endast gemener och bindestreck. Mer information finns i dokumentationen om namngivning av Kubernetes-objekt.
apiVersion: apps/v1 kind: Deployment metadata: name: cloudingestedgevol-deployment ### This must be unique for each deployment 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/azure-cli:2.57.0@sha256:c7c8a97f2dec87539983f9ded34cd40397986dcbed23ddbb5964a18edae9cd09 command: - "/bin/sh" - "-c" - "dd if=/dev/urandom of=/data/exampleSubDir/esaingesttestfile 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 is attached to the pod's filesystem ### mountPath: "/data" volumes: ### User-defined name that's 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 claimName: <your-pvc-metadata-name-from-line-5-of-pvc-yaml>
Om du vill tillämpa
deploymentExample.yaml
kör du:kubectl apply -f "deploymentExample.yaml"
Använd
kubectl get pods
för att hitta namnet på din podd. Kopiera det här namnet eftersom du behöver det 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
.Du bör se en katalog med det namn som du angav som i
path
steg 2 i avsnittet Koppla delvolym till Edge-volym .cd
/YOUR_PATH_NAME_HERE
YOUR_PATH_NAME_HERE
I ersätter du nu med dina uppgifter.Skapa till exempel en fil med namnet
file1.txt
och skriv till den med hjälp avecho "Hello World" > file1.txt
.I Azure Portal går du till ditt lagringskonto och letar reda på containern som angetts från steg 2 i Koppla delvolym till Edge-volym. När du väljer din container bör du hitta
file1.txt
ifylld i containern. Om filen inte har dykt upp ännu väntar du ungefär 1 minut. Edge-volymer väntar en minut innan de laddas upp.
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 tredjepartsövervakning med Prometheus och Grafana.