Použití trvalého svazku v AKS ve Azure Stack clusteru HCI

Platí pro: Azure Stack HCI, verze 21H2 a 20H2; Windows server 2022 datacenter Windows server 2019 datacenter

Trvalý svazek představuje část úložiště, která byla zřízena pro použití s Kubernetes lusky. Trvalý svazek lze použít v jednom nebo více luskech a je určen pro dlouhodobé uložení. Je také nezávislá na životním cyklu pod nebo Node. i když můžete zřídit trvalý virtuální okruh pro oba uzly Windows i Linux, v této části se dozvíte, jak vytvořit trvalý svazek a jak tento svazek použít ve vaší aplikaci Windows. Další informace najdete v tématu trvalé svazky v Kubernetes.

Než začnete

Tady je přehled toho, co potřebujete, abyste mohli začít:

Vytvoření deklarace identity trvalého svazku

Deklarace identity trvalého svazku se používá k automatickému zřízení úložiště na základě třídy úložiště. Chcete-li vytvořit deklaraci identity svazku, nejprve vytvořte soubor s názvem pvc-akshci-csi.yaml a zkopírujte následující definici YAML. Deklarace identity vyžaduje disk o velikosti 10 GB s přístupem ReadWriteOnce . Výchozí třída úložiště je zadána jako třída úložiště (VHDX).  

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: pvc-akshci-csi
spec:
 accessModes:
 - ReadWriteOnce
 resources:
  requests:
   storage: 10Gi

Vytvořte svazek spuštěním následujících příkazů v relaci PowerShellu pro správu na jednom ze serverů v clusteru Azure Stack HCI (pomocí metody, jako je například Enter-PSSession nebo Vzdálená plocha pro připojení k serveru):

kubectl create -f pvc-akshci-csi.yaml 

Následující výstup zobrazí, že se úspěšně vytvořila deklarace identity trvalého svazku:

Výkonem

persistentvolumeclaim/pvc-akshci-csi created

Použít trvalý svazek

Chcete-li použít trvalý svazek, vytvořte soubor s názvem winwebserver. yaml a zkopírujte následující definici YAML. Pak vytvoříte pod tím, že budete mít přístup k deklaraci identity trvalého svazku a VHDX.

V níže uvedené definici YAML je mountPath cesta k připojení svazku uvnitř kontejneru. Po úspěšném vytvoření pod se zobrazí podadresář mnt vytvořený v C:\ a podadresář akshciscsi vytvořený v mnt.

apiVersion: apps/v1 
kind: Deployment 
metadata: 
  labels: 
    app: win-webserver 
  name: win-webserver 
spec: 
  replicas: 1 
  selector: 
    matchLabels: 
      app: win-webserver 
  template: 
    metadata: 
      labels: 
        app: win-webserver 
      name: win-webserver 
    spec: 
     containers: 
      - name: windowswebserver 
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019 
        ports:  
          - containerPort: 80    
        volumeMounts: 
            - name: akshciscsi 
              mountPath: "/mnt/akshciscsi" 
     volumes: 
        - name: akshciscsi 
          persistentVolumeClaim: 
            claimName:  pvc-akshci-csi 
     nodeSelector: 
      kubernetes.io/os: windows 

Pokud chcete vytvořit pod výše uvedenou definicí YAML, spusťte:

kubectl create -f winwebserver.yaml 

Chcete-li se ujistit, že je pod ním spuštěný, spusťte následující příkaz. Počkejte několik minut, než je v běžícím stavu, protože načítání image trvá déle. 

kubectl get pods -o wide 

Jakmile je spuštěno, zobrazte stav pod spuštěním následujícího příkazu:

kubectl.exe describe pod %podName% 

Chcete-li ověřit, zda byl svazek připojen v části pod, spusťte následující příkaz:

kubectl exec -it %podname% cmd.exe 

Odstranění deklarace identity trvalého svazku

Před odstraněním deklarace identity trvalého svazku je nutné nasazení aplikace odstranit spuštěním:

kubectl delete deployments win-webserver

Pak můžete odstranit vynucenou deklaraci identity trvalého svazku spuštěním:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Další kroky