Sdílet prostřednictvím


Návod: Konfigurace místního sdíleného hraničního svazku (náhled)

V tomto kurzu se naučíte, jak nastavit místní sdílený Edge Volume. Tento typ objemu nabízí úložiště s možností čtení a zápisu mnoha dat, které je lokální pro váš Kubernetes cluster. 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 nevhodná pro cloudové cíle. Je to také dobrý cíl pro data, s nimiž se aktivně pracuje, mění nebo zpracovává na okraji sítě.

Tento kurz se zabývá následujícími úlohami:

  • Vytvoření místního sdíleného hraničního svazku PVC
  • Vytvoření ukázkového nasazení
  • Připojte se k vašemu podu
  • Napište ukázkový soubor

Požadavky

Vytvoření místního sdíleného hraničního svazku PVC

Tato část vytvoří deklaraci Trvalého Svazkového Nároku (PVC) pro váš místní sdílený svazek. Určíte, kolik místa chcete pro tento svazek zřídit.

Vytvořte soubor s názvem localSharedPVC.yaml s následujícím obsahem. Upravte hodnotu metadata.name s názvem pro vaši deklaraci trvalého svazku. Potom na řádku 8 zadejte obor názvů, který odpovídá zamýšlenému cílovému 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

Potom spuštěním tohoto příkazu použijte soubor YAML a vytvořte PVC:

kubectl apply -f "localSharedPVC.yaml"

Vytvořte ukázkové nasazení nebo použijte vlastní

Pokud už máte aplikaci k nasazení, můžete ji použít tady. Kvůli jednoduchosti a zahájení jsme sem zahrnuli ukázkové nasazení. Pokud chcete vytvořit nasazení pomocí naší ukázkové konfigurace, vytvořte soubor s názvem deploymentExample.yaml s následujícím obsahem. Přidejte hodnoty 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>

Potom spuštěním tohoto příkazu použijte soubor YAML a vytvořte nasazení:

kubectl apply -f "deploymentExample.yaml"

Připojte se k vašemu podu

Spusťte kubectl get pods, abyste našli název vašeho podu. Zkopírujte tento název, protože ho potřebujete v dalším kroku.

Poznámka:

Vzhledem k tomu, že spec::replicas z deploymentExample.yaml byl zadán jako 2, dva pody se zobrazí pomocí kubectl get pods. Pro další krok můžete použít název pod.

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 

Změňte adresáře na /data cestu připojení, jak je uvedeno v souboru deploymentExample.yaml.

Napište ukázkový soubor

Teď, když jste připojeni k podu a nacházíte se v připojovací cestě, všechny soubory, které zde uložíte, se zobrazí ve vašem svazku.

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

Teď vidíte, že soubor, který jste napsali, je v adresáři.

Další kroky

Po dokončení těchto 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.