Állandó kötet használata egy AKS-Azure Stack HCI fürtön

A következőkre vonatkozik: Azure Stack HCI 21H2 és 20H2 verziók; Windows Server 2022 Datacenter, Windows Server 2019 Datacenter

Az állandó kötetek olyan tárolók, amelyek Kubernetes-podokkal való használatra vannak kiépítve. Az állandó köteteket egy vagy több pod is használhatja, és hosszú távú tárolásra használható. A pod- vagy csomópont-életciklustól is független. Bár az Windows- és a Linux-csomópontokhoz is kiépíthet egy PVC-t, ebben a szakaszban látni fogja, hogyan hozhat létre állandó kötetet, és hogyan használhatja ezt a kötetet a Windows-alkalmazásban. További információ: Állandó kötetek a Kubernetesben.

Előkészületek

Az első lépésekhez a következő lépésekre lesz szüksége:

Állandó kötet jogcímének létrehozása

Az állandó kötet jogcímek segítségével automatikusan kiépíti a tárolót egy tárolóosztály alapján. Kötet jogcím létrehozásához először hozzon létre egy nevű fájlt, és másolja be az pvc-akshci-csi.yaml alábbi YAML-definíciót. A jogcím egy 10 GB méretű lemezt kér ReadWriteOnce hozzáféréssel. Az alapértelmezett tárolóosztály tárolási osztályként (vhdx) van megadva.  

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

Hozza létre a kötetet úgy, hogy a következő parancsokat futtatja egy rendszergazdai PowerShell-munkamenetben a Azure Stack HCI-fürt egyik kiszolgálóján (például enter-PSSession vagy Távoli asztal használatával a kiszolgálóhoz való csatlakozáshoz):

kubectl create -f pvc-akshci-csi.yaml 

Az alábbi kimenet azt mutatja, hogy az állandó kötet jogcíme sikeresen létrejött:

Kimeneti:

persistentvolumeclaim/pvc-akshci-csi created

Állandó kötet használata

Állandó kötet létrehozásához hozzon létre egy winwebserver.yaml nevű fájlt, és másolja be az alábbi YAML-definíciót. Ezután létre fog hozni egy podot, amely hozzáfér az állandó kötet jogcímhez és a vhdx-hez.

Az alábbi yaml-definícióban a mountPath a kötet tárolón belüli csatlakoztatásának útvonala. A pod sikeres létrehozása után látni fogja a C:\ mappában létrehozott mnt alkönyvtárat és az mnt fájlban létrehozott akshciscsialkönyvtárat.

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 

A fenti yaml-definícióval létrehozott pod létrehozásához futtassa a következőt:

kubectl create -f winwebserver.yaml 

Annak érdekében, hogy a pod fusson, futtassa a következő parancsot. Várjon néhány percet, amíg a pod futó állapotba kerül, mivel a rendszerkép lehúzása időt vesz igénybe. 

kubectl get pods -o wide 

Ha a pod fut, tekintse meg a pod állapotát a következő parancs futtatásával:

kubectl.exe describe pod %podName% 

Annak ellenőrzéséhez, hogy a kötet csatlakoztatva van-e a podhoz, futtassa a következő parancsot:

kubectl exec -it %podname% cmd.exe 

Állandó kötet jogcímének törlése

Állandó kötet jogcímének törlése előtt törölnie kell az alkalmazástelepítést a következő parancs futtatásával:

kubectl delete deployments win-webserver

Ezután törölheti az állandó kötet jogcímét a következő parancs futtatásával:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Következő lépések