Модуль настраивается автоматически, исходя из выбранной схемы размещения (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

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

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

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

        Пример:

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

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

        Пример:

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

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

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

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

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

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

        • settings.storageClass.provision.diskIOPSReadWrite
          число

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

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

        • settings.storageClass.provision.diskMBpsReadWrite
          число

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

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

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

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

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

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

          Azure disk теги.

          Пример:

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

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

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

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

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

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

          Тип Azure диска.

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

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