Использование постоянного тома с Служба Azure Kubernetes в Azure Stack HCI и сервере Windows

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

Постоянный том можно настроить на Служба Azure Kubernetes (AKS) в Azure Stack HCI и Windows Server. Постоянный том — это термин, используемый для представления части хранилища, подготовленного для использования с модулями 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 (используя метод , например Ввод-PSSession или удаленный рабочий стол для подключения к серверу):

kubectl create -f pvc-akshci-csi.yaml 

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

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

persistentvolumeclaim/pvc-akshci-csi created

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

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

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

kubectl.exe describe pod %podName% 

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

kubectl exec -it %podname% cmd.exe 

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

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

kubectl delete deployments win-webserver

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

kubectl delete PersistentVolumeClaim pvc-akshci-csi

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