Поделиться через


Использование постоянных томов с поддержкой AKS с помощью Arc

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

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

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

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

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

Вот что вам нужно приступить к работе:

  • Кластер Kubernetes с по крайней мере одним рабочим узлом Windows.
  • Файл kubeconfig для доступа к кластеру 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. Используйте такой метод, как ВВОД-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 просмотрите состояние pod, выполнив следующую команду:

kubectl.exe describe pod %podName% 

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

kubectl exec -it %podname% cmd.exe 

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

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

kubectl delete deployments win-webserver

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

kubectl delete PersistentVolumeClaim pvc-akshci-csi

Следующие шаги