Použití trvalého svazku s Azure Kubernetes Service na Azure Stack HCI a Windows Serveru

Platí pro: Azure Stack HCI a Windows Server

Trvalý svazek můžete nastavit na Azure Kubernetes Service (AKS) na Azure Stack HCI a Windows Serveru. Trvalý svazek představuje část úložiště, která byla zřízena pro použití s pody Kubernetes. Trvalý svazek může používat jeden nebo více podů a je určený pro dlouhodobé úložiště. Je také nezávislý na životním cyklu podů nebo uzlů.

I když můžete zřídit trvalý svazek pro Windows i linuxové uzly, v tomto článku se dozvíte, jak vytvořit trvalý svazek pro použití v aplikaci Windows. Další informace najdete v tématu Trvalé svazky v Kubernetes.

Než začnete

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

Vytvoření trvalé deklarace identity svazku

Trvalá deklarace objemu (PVC) se používá k automatickému zřizování úložiště na základě třídy úložiště. Pokud chcete vytvořit deklaraci identity svazku, nejprve vytvořte soubor s názvem pvc-akshci-csi.yaml a zkopírujte a vložte následující definici YAML. PVC vyžaduje disk o velikosti 10 GB s přístupem ReadWriteOnce . Výchozí třída úložiště je určena jako třída úložiště (vhdx).

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

Pokud chcete vytvořit svazek, spusťte následující příkazy v relaci PowerShellu pro správu na jednom ze serverů v clusteru Azure Stack HCI (pomocí metody, jako je Enter-PSSession nebo Vzdálená plocha pro připojení k serveru):

kubectl create -f pvc-akshci-csi.yaml 

Následující výstup ukazuje, že vaše trvalá deklarace identity svazku byla úspěšně vytvořena:

Výstup:

persistentvolumeclaim/pvc-akshci-csi created

Použití trvalého svazku

Pokud chcete použít trvalý svazek, vytvořte soubor s názvem winwebserver.yaml a zkopírujte a vložte následující definici YAML. Pak vytvořte pod s přístupem k trvalé deklarací identity svazku a vhdx.

V následující definici yaml je cesta k připojení svazku uvnitř kontejneru. Po úspěšném vytvoření podu uvidíte podadresář mnt vytvořený v jazyce C:\ a podadresář akshciscsi vytvořený uvnitř 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 s výše uvedenou definicí yaml, spusťte:

kubectl create -f winwebserver.yaml 

Pokud chcete mít jistotu, že je pod spuštěný, spusťte následující příkaz. Počkejte několik minut, než se pod nachází ve spuštěném stavu, protože načtení image nějakou dobu trvá.

kubectl get pods -o wide 

Po spuštění podu zobrazte stav podu spuštěním následujícího příkazu:

kubectl.exe describe pod %podName% 

Pokud chcete ověřit, že je svazek připojený k podu, spusťte následující příkaz:

kubectl exec -it %podname% cmd.exe 

Odstranění trvalé deklarace identity svazku

Před odstraněním trvalé deklarace identity svazku musíte nasazení aplikace odstranit spuštěním příkazu:

kubectl delete deployments win-webserver

Potom můžete odstranit trvalou deklaraci identity svazku spuštěním příkazu:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Další kroky