Использование постоянных томов с AKS, включенным Azure Arc

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

В этой статье описывается подготовка, использование и удаление постоянных томов, которые предоставляют долгосрочное хранилище для использования с модулями Pod Kubernetes в AKS, включенных в Azure Arc (AKS Arc).

Постоянный том представляет собой часть хранилища, подготовленную для использования с модулями pod Kubernetes. Постоянный том может использоваться одним или несколькими модулями pod и предназначен для долгосрочного хранения. Он также не зависит от жизненного цикла pod или узла.

Хотя вы можете подготовить постоянный том как для узлов Windows, так и для Linux, в этой статье описывается, как создать постоянный том для использования в приложении Windows. Дополнительные сведения см. в разделе Постоянные тома в Kubernetes.

Подготовка к работе

Вот что необходимо для начала работы.

Создание заявки на доступ к постоянному тому

Утверждение постоянного тома (PVC) используется для автоматической подготовки хранилища на основе класса хранения. Чтобы создать утверждение тома, сначала создайте файл с именем pvc-akshci-csi.yaml и скопируйте и вставьте следующее определение YAML. Для ПВМ требуется диск размером 10 ГБ с доступом ReadWriteOnce . Класс хранения по умолчанию указывается как класс хранения (vhdx).

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

Чтобы создать том, выполните следующие команды в административном сеансе PowerShell на одном из серверов в кластере Azure Stack HCI. Для подключения к серверу используйте метод , например Enter-PSSession или удаленный рабочий стол.

kubectl create -f pvc-akshci-csi.yaml 

Следующие выходные данные показывают, что утверждение постоянного тома успешно создано:

Выходные данные:

persistentvolumeclaim/pvc-akshci-csi created

Использование постоянного тома

Чтобы использовать постоянный том, создайте файл с именем winwebserver.yaml и скопируйте и вставьте следующее определение YAML. Затем создайте модуль pod с доступом к утверждению постоянного тома и vhdx.

В следующем определении mountPath YAML — это путь для подключения тома внутри контейнера. После успешного создания pod вы увидите подкаталог mnt , созданный в C:\ , и подкаталог akshciscsi , созданный внутри 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 

Чтобы создать модуль pod с указанным выше определением YAML, выполните следующую команду:

kubectl create -f winwebserver.yaml 

Чтобы убедиться, что модуль pod запущен, выполните следующую команду. Подождите несколько минут, пока модуль pod не перейдет в состояние выполнения, так как извлечение образа занимает некоторое время:

kubectl get pods -o wide 

После запуска модуля pod просмотрите его состояние, выполнив следующую команду:

kubectl.exe describe pod %podName% 

Чтобы убедиться, что том подключен в pod, выполните следующую команду:

kubectl exec -it %podname% cmd.exe 

Удаление утверждения постоянного тома

Перед удалением утверждения постоянного тома необходимо удалить развертывание приложения, выполнив следующую команду:

kubectl delete deployments win-webserver

Затем можно удалить утверждение постоянного тома, выполнив команду:

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Дальнейшие действия