Állandó kötet használata Azure Stack HCI-fürtön található AK-banUse persistent volume in an AKS on Azure Stack HCI cluster

A következőkre vonatkozik: Azure Stack HCI, AK Runtime a Windows Server 2019 Datacenter rendszerenApplies to: AKS on Azure Stack HCI, AKS runtime on Windows Server 2019 Datacenter

Az állandó kötet a Kubernetes hüvelyekkel való használatra kiépített tárterületet jelöli.A persistent volume represents a piece of storage that has been provisioned for use with Kubernetes pods. Egy állandó kötetet egy vagy több hüvely is használhat, és hosszú távú tárolást jelent.A persistent volume can be used by one or more pods and is meant for long-term storage. Emellett a pod vagy a Node életciklustól függetlenül is.It's also independent of pod or node lifecycle. Míg a Windows-és Linux-csomópontokhoz is létrehozhat egy PVC-t, ebben a szakaszban láthatja, hogyan hozhat létre állandó kötetet, és hogyan használhatja ezt a kötetet a Windows-alkalmazásban.While you can provision a PVC for both Windows and Linux nodes, in this section, you'll see how to create a persistent volume and how to use this volume in your Windows application. További információ: perzisztens kötetek a Kubernetes-ben.For more information, see Persistent volumes in Kubernetes.

ElőkészületekBefore you begin

A kezdéshez a következők szükségesek:Here's what you need to get started:

  • Egy legalább egy Windows-munkavégző csomóponttal rendelkező Kubernetes-fürt.A Kubernetes cluster with at least one Windows worker node.
  • Egy kubeconfig-fájl, amely hozzáfér a Kubernetes-fürthöz.A kubeconfig file to access the Kubernetes cluster.

Állandó kötet jogcímek létrehozásaCreate a persistent volume claim

Az állandó mennyiségi jogcímek a tárolók tárolási osztály alapján történő automatikus kiépítésére szolgálnak.A persistent volume claim is used to automatically provision storage based on a storage class. Mennyiségi jogcím létrehozásához először hozzon létre egy nevű fájlt, pvc-akshci-csi.yaml és másolja a következő YAML-definícióba.To create a volume claim, first create a file named pvc-akshci-csi.yaml and copy in the following YAML definition. A jogcím 10 GB méretű lemezt kér ReadWriteOnce-   hozzáféréssel.The claim requests a disk that is 10 GB in size with ReadWriteOnce access. Az alapértelmezett   tárolási osztály a tárolási osztályként (vhdx) van megadva.The default storage class is specified as the storage class (vhdx).

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

A kötet létrehozásához futtassa a következő parancsokat egy felügyeleti PowerShell-munkamenetben az Azure Stack HCI-fürt egyik kiszolgálóján (például az ENTER-PSSession vagy a távoli asztal használatával a kiszolgálóhoz való kapcsolódáshoz):Create the volume by running the following commands in an administrative PowerShell session on one of the servers in the Azure Stack HCI cluster (using a method such as Enter-PSSession or Remote Desktop to connect to the server):

kubectl create -f pvc-akshci-csi.yaml 

A következő kimenet azt mutatja, hogy az állandó kötet jogcíme sikeresen létrejött:The following output will show that your persistent volume claim has been created successfully:

KimenetiOutput:

persistentvolumeclaim/pvc-akshci-csi created

Állandó kötet használataUse persistent volume

Állandó kötet használatához hozzon létre egy winwebserver. YAML nevű fájlt, és másolja a következő YAML-definícióba.To use a persistent volume, create a file named winwebserver.yaml and copy in the following YAML definition. Ezután létre fog hozni egy Pod-t, amely hozzáférést biztosít az állandó mennyiségi jogcímek és a vhdx számára.You will then create a pod with access to the persistent volume claim and vhdx.

Az alábbi YAML-definícióban a mountPath a kötet egy tárolón belüli csatlakoztatásának elérési útja.In the yaml definition below, mountPath is the path to mount a volume inside a container. Sikeres Pod-létrehozás után megjelenik a \ C -ben létrehozott alkönyvtár mnt , valamint a mnt belül létrehozott alkönyvtár akshciscsi .After a successful pod creation, you will see the subdirectory mnt created in C:\ and the subdirectory akshciscsi created inside 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 

A fenti YAML-definícióval rendelkező Pod létrehozásához futtassa a következőt:To create a pod with the above yaml definition, run:

kubectl create -f winwebserver.yaml 

A következő parancs futtatásával gondoskodhat arról, hogy a pod fut:.To make sure the pod is running, run the following command. Várjon néhány percet, amíg a pod fut állapotban van, mivel a rendszerkép húzása időt vesz igénybe.Wait a few minutes until the pod is in a running state, since pulling the image takes time.

kubectl get pods -o wide 

Miután a pod fut, tekintse meg a pod állapotát a következő parancs futtatásával:Once your pod is running, view the pod status by running the following command:

kubectl.exe describe pod %podName% 

Az alábbi parancs futtatásával ellenőrizheti, hogy a kötet csatlakoztatva van-e a hüvelyben:To verify your volume has been mounted in the pod, run the following command:

kubectl exec -it %podname% cmd.exe 

Állandó kötet jogcímek törléseDelete a persistent volume claim

Az állandó mennyiségi jogcímek törlése előtt törölnie kell az alkalmazás központi telepítését a következő futtatásával:Before deleting a persistent volume claim, you must delete the app deployment by running:

kubectl delete deployments win-webserver

Ezután törölheti az állandó kötet jogcímet a futtatásával:You can then delete a persistent volume claim by running:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

További lépésekNext steps