Sdílet prostřednictvím


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

  1. 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.

  2. 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

  1. Přejděte do clusteru připojeného ke službě Arc.
  2. Vyberte Rozšíření.
  3. Vyberte službu Azure Container Storage povolenou rozšířením Azure Arc.
  4. 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ě

  1. Na webu Azure Portal přejděte k účtu úložiště.
  2. Vyberte Řízení přístupu (IAM).
  3. Vyberte Přidat+ –> Přidat přiřazení role.
  4. Vyberte Vlastník dat objektů blob úložiště a pak vyberte Další.
  5. Vyberte +Vybrat členy.
  6. Pokud chcete přidat id objektu zabezpečení do seznamu Vybrané členy, vložte ID a vyberte + ho vedle identity.
  7. Klepněte na tlačítko Vybrat.
  8. 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)

  1. 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í řádek deploymentExample.yaml v dalším kroku. metadata.namespace Aktualizujte také hodnotu zamýšleným podem. Pokud nemáte zamýšlený pod, hodnota metadata.namespace je default. Parametr spec.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
    
  2. 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:

  1. Pomocí následujícího příkazu získejte název svazku Ingest Edge:

    kubectl get edgevolumes
    
  2. 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 v deploymentExample.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 najdete storageaccountendpoint v části properties.primaryEndpoints.blob. Zkopírujte celý odkaz; například https://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
    
  3. Pokud chcete použít edgeSubvolume.yaml, spusťte:

    kubectl apply -f "edgeSubvolume.yaml"
    

Volitelné: Změna ingestPolicy výchozí hodnoty

  1. Pokud chcete změnit ingestPolicy výchozí edgeingestpolicy-defaulthodnotu, vytvořte soubor s názvem myedgeingest-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šeho edgeSubvolume.yamloddílu spec.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í.

  2. Pokud chcete použít myedgeingest-policy.yaml, spusťte:

    kubectl apply -f "myedgeingest-policy.yaml"
    

Připojení aplikace (nativní aplikace Kubernetes)

  1. 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 a volumes.persistentVolumeClaim.claimName hodnoty. Pokud jste aktualizovali název cesty z edgeSubvolume.yaml, exampleSubDir na řádku 33 je nutné aktualizovat nový název cesty. Parametr spec.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>
    
  2. Pokud chcete použít deploymentExample.yaml, spusťte:

    kubectl apply -f "deploymentExample.yaml"
    
  3. 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 bylo deploymentExample.yaml zadáno jako 2, dva pody se zobrazí pomocí kubectl get pods. Pro další krok můžete zvolit název podu, který chcete použít.

  4. 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
    
  5. Změňte adresáře na /data cestu připojení, jak je uvedeno v adresáři .deploymentExample.yaml

  6. 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_HEREa nahraďte YOUR_PATH_NAME_HERE hodnotu podrobnostmi.

  7. Například vytvořte soubor s názvem file1.txt a zapište do něj pomocí echo "Hello World" > file1.txt.

  8. 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.

Monitorování nasazení