Модуль настраивается автоматически, исходя из выбранной схемы размещения (custom resource AzureClusterConfiguration). В большинстве случаев нет необходимости ручной конфигурации модуля.

Количество и параметры процесса заказа машин в облаке настраиваются в custom resource NodeGroup модуля node-manager, в котором также указывается название используемого для этой группы узлов инстанс-класса (параметр cloudInstances.ClassReference). Инстанс-класс для cloud провайдера Azure — это custom resource AzureInstanceClass, в котором указываются конкретные параметры самих машин.

Модуль автоматически создает следующие StorageClass’ы:

Имя Тип диска
managed-standard-ssd StandardSSD_LRS
managed-standard Standard_LRS
managed-premium Premium_LRS

Также он позволяет сконфигурировать дополнительные StorageClass’ы для дисков с настраиваемыми IOPS и Throughput и отфильтровать ненужные StorageClass’ы, для чего нужно указать их с помощью параметра exclude.

Пример конфигурации StorageClass:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: cloud-provider-azure
spec:
  version: 1
  enabled: true
  settings:
    storageClass:
      provision:
      - name: managed-ultra-ssd
        diskIOPSReadWrite: 600
        diskMBpsReadWrite: 150
      exclude:
      - managed-standard.*
      - managed-premium
      default: managed-ultra-ssd

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем cloud-provider-azure (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/cloud-provider-azure для настройки модуля:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: cloud-provider-azure
spec:
  version: 1
  enabled: true
  settings: # <-- Параметры модуля из раздела "Параметры" ниже.

Параметры

Версия схемы: 1

  • storageClass
    объект
    • storageClass.default
      строка

      Имя StorageClass, который будет использоваться в кластере по умолчанию.

      Если параметр не задан, фактическим StorageClass по умолчанию будет один из следующих:

      Пример:

      default: pd-ssd-not-replicated
      
    • storageClass.exclude
      массив строк

      Список полных имен (или регулярных выражений имен) StorageClass, которые не будут созданы в кластере.

      Пример:

      exclude:
      - pd-standard.*
      - pd-ssd-replicated
      
    • storageClass.provision
      массив объектов

      Дополнительные StorageClass’ы для Azure ultra disks.

      • storageClass.provision.cachingMode
        строка

        Желаемый режим кэширования. Если размер диска превышает 4 TiB, необходимо использовать cachineMode: None.

        Дополнительную информацию можно найти в документации Azure.

        Допустимые значения: None, ReadOnly, ReadWrite

      • storageClass.provision.diskIOPSReadWrite
        число

        Обязательный параметр

        Количество IOPS (лимит 300 IOPS/GiB, максимум 160 K IOPS на диск).

      • storageClass.provision.diskMBpsReadWrite
        число

        Обязательный параметр

        Скорость обращения к диску в MBps (лимит 256 KiB/s на каждый IOPS).

      • storageClass.provision.name
        строка

        Обязательный параметр

        Имя будущего класса.

      • storageClass.provision.tags
        массив объектов

        Azure disk теги.

        Пример:

        tags:
        - key: key1
          value: val1
        - key: key2
          value: val2
        
        • storageClass.provision.tags.key
          строка

          Шаблон: ^[A-Za-z0-9][-A-Za-z0-9_.]*$

        • storageClass.provision.tags.value
          строка

          Шаблон: ^[A-Za-z0-9][-A-Za-z0-9_.]*$

      • storageClass.provision.type
        строка

        Обязательный параметр

        Тип Azure диска.

        Дополнительную информацию можно найти в документации Azure.

        Допустимые значения: UltraSSD_LRS