Подготовка томов двух протоколов Azure NetApp Files для Служба Azure Kubernetes

После настройки Azure NetApp Files для Служба Azure Kubernetes можно подготовить тома Azure NetApp Files для Служба Azure Kubernetes.

Azure NetApp Files поддерживает тома с помощью NFS (NFSv3 или NFSv4.1), S МБ и двойного протокола (NFSv3 и S МБ или NFSv4.1 и S МБ).

В этой статье показано, как статически подготавливать тома для доступа с двумя протоколами с помощью NFS или S МБ.

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

Подготовка тома с двумя протоколами в Служба Azure Kubernetes

В этом разделе описывается, как предоставлять том двойного протокола Azure NetApp Files статически для Kubernetes. Инструкции предоставляются для протоколов S МБ и NFS. Вы можете предоставить тот же том через S МБ рабочим узлам Windows и через NFS для рабочих узлов Linux.

Создание постоянного тома для NFS

  1. Определите переменные для последующего использования. Замените myresourcegroup, myaccountname, mypool1, myvolname соответствующим значением из тома двойного протокола.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Список сведений о томе az netappfiles volume show с помощью команды.

    az netappfiles volume show \
        --resource-group $RESOURCE_GROUP \
        --account-name $ANF_ACCOUNT_NAME \
        --pool-name $POOL_NAME \
        --volume-name $VOLUME_NAME -o JSON
    

    Ниже приведен пример приведенной выше команды, выполняемой с реальными значениями.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Создайте файл pv-nfs.yaml и скопируйте в него следующий код YAML. Убедитесь, что сервер соответствует выходному IP-адресу из предыдущего шага, а путь соответствует выходным данным выше creationToken . Емкость также должна соответствовать размеру тома из шага 2.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv-nfs
    spec:
      capacity:
        storage: 100Gi
      accessModes:
        - ReadWriteMany
      mountOptions:
        - vers=3
      nfs:
        server: 10.0.0.4
        path: /myfilepath2
    
  4. Создайте постоянный том с помощью kubectl apply команды:

    kubectl apply -f pv-nfs.yaml
    
  5. Убедитесь, что состояние постоянного тома доступно с помощью kubectl describe команды:

    kubectl describe pv pv-nfs
    

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

  1. Создайте файл pvc-nfs.yaml и скопируйте в него следующий код YAML. Этот манифест создает ПВХ с именем pvc-nfs 100Gi хранилища и ReadWriteMany режима доступа, соответствующего созданному ПС.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Создайте утверждение постоянного тома kubectl apply с помощью команды:

    kubectl apply -f pvc-nfs.yaml
    
  3. Убедитесь, что состояние утверждения постоянного тома привязано с помощью kubectl describe команды:

    kubectl describe pvc pvc-nfs
    

Подключение в модуле pod с помощью NFS

  1. Создайте файл nginx-nfs.yaml и скопируйте в него следующий код YAML. Этот манифест определяет nginx модуль pod, использующий утверждение постоянного тома.

    kind: Pod
    apiVersion: v1
    metadata:
      name: nginx-nfs
    spec:
      containers:
      - image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
        name: nginx-nfs
        command:
        - "/bin/sh"
        - "-c"
        - while true; do echo $(date) >> /mnt/azure/outfile; sleep 1; done
        volumeMounts:
        - name: disk01
          mountPath: /mnt/azure
      volumes:
      - name: disk01
        persistentVolumeClaim:
          claimName: pvc-nfs
    
  2. Создайте pod с помощью kubectl applyкоманды kubectl-apply :

    kubectl apply -f nginx-nfs.yaml
    
  3. Убедитесь, что модуль pod запущен с помощью kubectl apply команды:

    kubectl describe pod nginx-nfs
    
  4. Убедитесь, что том подключен к модулем pod с помощью kubectl exec подключения к модулем pod, а затем используется df -h для проверка, если том подключен.

    kubectl exec -it nginx-nfs -- sh
    
    / # df -h
    Filesystem             Size  Used Avail Use% Mounted on
    ...
    10.0.0.4:/myfilepath2  100T  384K  100T   1% /mnt/azure
    ...
    

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

Astra Trident поддерживает множество функций в Azure NetApp Files. Дополнительные сведения см. в разделе: