Konfigurace svazků Edge Ingest cloudu
Tento článek popisuje konfiguraci svazků Cloud Ingest Edge (nahrávání objektů blob s místním vyprázdněním).
Co jsou svazky Cloud Ingest Edge?
Cloudové svazky Ingest Edge usnadňují neomezený příjem dat z hraničních zařízení do objektů blob, včetně ADLSgen2. Soubory zapsané do tohoto typu úložiště se bezproblémově přenesou do úložiště objektů blob a po potvrzení nahrání se místně vyprázdní. Toto odebrání zajišťuje dostupnost místa pro nová data. Tato možnost úložiště navíc podporuje integritu dat v odpojených prostředích, což umožňuje místní úložiště a synchronizaci po opětovném připojení k síti.
Můžete například napsat soubor do cloudového ingestu PVC a proces spustí kontrolu nových souborů každou minutu. Po identifikaci se soubor odešle k nahrání do určeného cíle objektu blob. Po potvrzení úspěšného nahrání čeká cloudový svazek Ingest Edge pět minut a pak odstraní místní verzi souboru.
Požadavky
Podle zde uvedených pokynů vytvořte účet úložiště.
Poznámka:
Když vytvoříte účet úložiště, doporučujeme ho vytvořit ve stejné skupině prostředků a oblasti nebo umístění jako cluster Kubernetes.
Vytvořte kontejner v účtu úložiště, který jste vytvořili dříve, podle zde uvedených pokynů.
Konfigurace identity rozšíření
Svazky Edge umožňují používat identitu rozšíření přiřazenou systémem pro přístup k úložišti objektů blob. Tato část popisuje, jak pomocí identity rozšíření přiřazené systémem udělit přístup k vašemu účtu úložiště, což vám umožní nahrát svazky ingestování cloudu do těchto systémů úložiště.
Doporučujeme používat identitu rozšíření. Pokud je vaším konečným cílem úložiště objektů blob nebo ADLSgen2, projděte si následující pokyny. Pokud je vaším konečným cílem OneLake, postupujte podle pokynů v části Konfigurace OneLake pro identitu rozšíření.
I když se nedoporučuje, pokud raději používáte ověřování založené na klíčích, postupujte podle pokynů v ověřování založeném na klíčích.
Získání identity rozšíření
portál Azure
- Přejděte do clusteru připojeného ke službě Arc.
- Vyberte Rozšíření.
- Vyberte službu Azure Container Storage povolenou rozšířením Azure Arc.
- Poznamenejte si ID objektu zabezpečení v části Podrobnosti o rozšíření clusteru.
Konfigurace účtu úložiště objektů blob pro identitu rozšíření
Přidání oprávnění identity rozšíření k účtu úložiště
- Na webu Azure Portal přejděte k účtu úložiště.
- Vyberte Řízení přístupu (IAM).
- Vyberte Přidat+ –> Přidat přiřazení role.
- Vyberte Vlastník dat objektů blob úložiště a pak vyberte Další.
- Vyberte +Vybrat členy.
- Pokud chcete přidat id objektu zabezpečení do seznamu Vybrané členy, vložte ID a vyberte + ho vedle identity.
- Klepněte na tlačítko Vybrat.
- Pokud chcete zkontrolovat a přiřadit oprávnění, vyberte Další a pak vyberte Zkontrolovat a přiřadit.
Vytvoření deklarace trvalé deklarace ingestování svazku cloudu (PVC)
Vytvořte soubor s názvem
cloudIngestPVC.yaml
s následujícím obsahem.metadata.name
Upravte řádek a vytvořte název deklarace trvalého svazku. Tento název se odkazuje na poslední řádekdeploymentExample.yaml
v dalším kroku.metadata.namespace
Aktualizujte také hodnotu zamýšleným podem. Pokud nemáte zamýšlený pod, hodnotametadata.namespace
jedefault
. Parametrspec.resources.requests.storage
určuje velikost trvalého svazku. V tomto příkladu je to 2 GB, ale můžete ho upravit tak, aby vyhovoval vašim potřebám:Poznámka:
Používejte jenom malá písmena a pomlčky. Další informace najdete v dokumentaci k pojmenování objektů Kubernetes.
kind: PersistentVolumeClaim apiVersion: v1 metadata: ### Create a name for your PVC ### name: <create-persistent-volume-claim-name-here> ### Use a namespace that matched your intended consuming pod, or "default" ### namespace: <intended-consuming-pod-or-default-here> spec: accessModes: - ReadWriteMany resources: requests: storage: 2Gi storageClassName: cloud-backed-sc
Pokud chcete použít
cloudIngestPVC.yaml
, spusťte:kubectl apply -f "cloudIngestPVC.yaml"
Připojení podvolumu ke svazku Edge
Pokud chcete vytvořit podvolume pomocí identity rozšíření pro připojení k kontejneru účtu úložiště, použijte následující postup:
Pomocí následujícího příkazu získejte název svazku Ingest Edge:
kubectl get edgevolumes
Vytvořte soubor s názvem
edgeSubvolume.yaml
a zkopírujte následující obsah. Tyto proměnné musí být aktualizovány informacemi:Poznámka:
Používejte jenom malá písmena a pomlčky. Další informace najdete v dokumentaci k pojmenování objektů Kubernetes.
metadata.name
: Vytvořte název pro podvolume.spec.edgevolume
: Tento název byl načten z předchozího kroku pomocíkubectl get edgevolumes
.spec.path
: Pod cestou připojení vytvořte vlastní název podadresáře. Následující příklad již obsahuje název příkladu (exampleSubDir
). Pokud změníte tento název cesty, musí být řádek 33 vdeploymentExample.yaml
aktualizovaném názvu nové cesty. Pokud se rozhodnete cestu přejmenovat, nepoužívejte předchozí lomítko.spec.container
: Název kontejneru v účtu úložiště.spec.storageaccountendpoint
: Na webu Azure Portal přejděte ke svému účtu úložiště. Na stránce Přehled v pravém horním rohu obrazovky vyberte Zobrazení JSON. Odkaz najdetestorageaccountendpoint
v části properties.primaryEndpoints.blob. Zkopírujte celý odkaz; napříkladhttps://mytest.blob.core.windows.net/
.
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 be updated. Don't use a preceding slash. auth: authType: MANAGED_IDENTITY storageaccountendpoint: "https://<STORAGE ACCOUNT NAME>.blob.core.windows.net/" container: <your-blob-storage-account-container-name> ingestPolicy: edgeingestpolicy-default # Optional: See the following instructions if you want to update the ingestPolicy with your own configuration
Pokud chcete použít
edgeSubvolume.yaml
, spusťte:kubectl apply -f "edgeSubvolume.yaml"
Volitelné: Změna ingestPolicy
výchozí hodnoty
Pokud chcete změnit
ingestPolicy
výchozíedgeingestpolicy-default
hodnotu, vytvořte soubor s názvemmyedgeingest-policy.yaml
s následujícím obsahem. Následující proměnné musí být aktualizovány vašimi předvolbami:Poznámka:
Používejte jenom malá písmena a pomlčky. Další informace najdete v dokumentaci k pojmenování objektů Kubernetes.
metadata.name
: Vytvořte název pro ingestPolicy. Tento název musí být aktualizován a odkazován v části vašehoedgeSubvolume.yaml
oddíluspec.ingestPolicy
.spec.ingest.order
: Pořadí, ve kterém se nahrají špinavé soubory. Jedná se o nejlepší úsilí, nikoli záruku (výchozí hodnota je nejstarší). Možnosti pro objednávku jsou: nejstarší nebo od nejnovějšího.spec.ingest.minDelaySec
: Minimální počet sekund, než je zašpiněný soubor způsobilý k ingestování (výchozí hodnota je 60). Toto číslo může být v rozsahu od 0 do 31536000.spec.eviction.order
: Způsob vyřazení souborů (výchozí hodnota je neuspořádaná). Možnosti pořadí vyřazení jsou: neuspořádané nebo nikdy.spec.eviction.minDelaySec
: Počet sekund před vymazáním souboru má nárok na vyřazení (výchozí hodnota je 300). Toto číslo může být v rozsahu od 0 do 31536000.
apiVersion: arccontainerstorage.azure.net/v1 kind: EdgeIngestPolicy metadata: name: <create-a-policy-name-here> # This must 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>
Další informace o těchto specifikacích naleznete v tématu Nastavení zásad ingestování.
Pokud chcete použít
myedgeingest-policy.yaml
, spusťte:kubectl apply -f "myedgeingest-policy.yaml"
Připojení aplikace (nativní aplikace Kubernetes)
Chcete-li nakonfigurovat obecný jeden pod (nativní aplikace Kubernetes) proti deklarace identity trvalého svazku (PVC), vytvořte soubor s názvem
deploymentExample.yaml
s následujícím obsahem.containers.name
Upravte hodnoty avolumes.persistentVolumeClaim.claimName
hodnoty. Pokud jste aktualizovali název cesty zedgeSubvolume.yaml
,exampleSubDir
na řádku 33 je nutné aktualizovat nový název cesty. Parametrspec.replicas
určuje počet podů replik, které se mají vytvořit. V tomto příkladu je to 2, ale můžete ho upravit tak, aby vyhovoval vašim potřebám:Poznámka:
Používejte jenom malá písmena a pomlčky. Další informace najdete v dokumentaci k pojmenování objektů Kubernetes.
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/acsaingesttestfile count=16 bs=1M && while true; do ls /data &>/dev/null || break; sleep 1; done" volumeMounts: ### This name must match the volumes.name attribute below ### - 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 (Line 5) claimName: <your-pvc-metadata-name-from-line-5-of-pvc-yaml>
Pokud chcete použít
deploymentExample.yaml
, spusťte:kubectl apply -f "deploymentExample.yaml"
Slouží
kubectl get pods
k vyhledání názvu podu. Zkopírujte tento název, abyste ho mohli použít v dalším kroku.Poznámka:
Vzhledem k tomu, že
spec.replicas
bylodeploymentExample.yaml
zadáno jako2
, dva pody se zobrazí pomocíkubectl get pods
. Pro další krok můžete zvolit název podu, který chcete použít.Spusťte následující příkaz a nahraďte
POD_NAME_HERE
zkopírovanou hodnotou z posledního kroku:kubectl exec -it POD_NAME_HERE -- sh
Změňte adresáře na
/data
cestu připojení, jak je uvedeno v adresáři .deploymentExample.yaml
Měl by se zobrazit adresář s názvem, který jste zadali v
path
kroku 2 podvolume připojit ke svazku Edge. Změňte adresáře na/YOUR_PATH_NAME_HERE
a nahraďteYOUR_PATH_NAME_HERE
hodnotu podrobnostmi.Například vytvořte soubor s názvem
file1.txt
a zapište do něj pomocíecho "Hello World" > file1.txt
.Na webu Azure Portal přejděte do svého účtu úložiště a vyhledejte kontejner zadaný v kroku 2 podvolume připojení ke svazku Edge. Když vyberete kontejner, měli byste ho najít
file1.txt
v kontejneru. Pokud se soubor ještě nezobrazuje, počkejte přibližně 1 minutu; Svazky Edge čekají minutu před nahráním.
Další kroky
Po dokončení těchto kroků můžete začít monitorovat nasazení pomocí služby Azure Monitor a monitorování Kubernetes nebo monitorování třetích stran pomocí nástroje Prometheus a Grafana.