Sdílet prostřednictvím


Místní sdílené svazky Edge

Tento článek popisuje konfiguraci místních sdílených hraničních svazků (vysoce dostupné, odolné místní úložiště).

Co je místní sdílený svazek Edge?

Funkce Místních sdílených svazků Edge poskytuje vysoce dostupné úložiště podporující převzetí služeb při selhání, místní úložiště pro cluster Kubernetes. Tento typ sdíleného úložiště zůstává nezávislý na cloudové infrastruktuře, takže je ideální pro pomocné místo, dočasné úložiště a místně trvalá data, která můžou být pro cíle cloudu nevhodná.

Vytvoření trvalých deklarací trvalého svazku sdíleného hraničního zařízení (PVC) a konfigurace podu proti PVC

  1. Vytvořte soubor s názvem localSharedPVC.yaml s následujícím obsahem. metadata.name Upravte hodnotu názvem deklarace trvalého svazku. Potom na řádku 8 zadejte obor názvů, který odpovídá zamýšlenému využití podu. Hodnota metadata.name se odkazuje na poslední řádek deploymentExample.yaml v dalším kroku. 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-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
    
  2. Vytvořte soubor s názvem deploymentExample.yaml s následujícím obsahem. Sčítání hodnot pro containers.name a volumes.persistentVolumeClaim.claimName. 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: 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>
    
  3. Pokud chcete použít tyto soubory YAML, spusťte:

    kubectl apply -f "localSharedPVC.yaml"
    kubectl apply -f "deploymentExample.yaml"
    
  4. Spuštěním kubectl get pods vyhledejte název podu. Zkopírujte tento název, protože ho potřebujete 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.

  5. Spusťte následující příkaz a nahraďte POD_NAME_HERE zkopírovanou hodnotou z předchozího kroku:

    kubectl exec -it pod_name_here -- sh
    
  6. Změňte adresáře na /data cestu připojení, jak je uvedeno v deploymentExample.yamlsouboru .

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

Po dokončení předchozích kroků začněte monitorovat nasazení pomocí služby Azure Monitor a monitorování Kubernetes nebo monitorování třetích stran pomocí nástroje Prometheus a Grafana.

Další kroky

Monitorování nasazení