OpenStackInstanceClass

Scope: Cluster

Параметры группы OpenStack servers, которые будет использовать machine-controller-manager (модуль node-manager).

На этот ресурс ссылается ресурс CloudInstanceClass модуля node-manager.

  • spec
    объект

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

    • spec.additionalNetworks
      массив строк

      Список сетей, которые будут подключены к инстансу.

      По умолчанию используется значение из OpenStackCloudDiscoveryData.

      Пример:

      additionalNetworks:
      - BGP-network-VLAN-3894
      - External-VLAN-3699
      
    • spec.additionalSecurityGroups
      массив строк

      Дополнительный список security groups, которые будут добавлены на заказанные инстансы соответствующего OpenStackInstanceClass в дополнение к указанным в конфигурации cloud-провайдера.

      Используется для задания правил firewall по отношению к заказываемым инстансам.

      SecurityGroups могут не поддерживаться провайдером.

      Пример:

      additionalSecurityGroups:
      - security-group-1
      - security-group-2
      
    • spec.additionalTags
      объект

      Дополнительные теги, которые будут присвоены созданным инстансам в дополнение к указанным в конфигурации cloud-провайдера.

      Пример:

      additionalTags:
        project: cms-production
        severity: critical
      
    • spec.capacity
      Параметр устарел
      объект

      Устарело: параметр больше не используется. Для переданного типа инстанса Deckhouse использует параметры, полученные из облака.

      Емкость инстанса для нестандартных типов инстансов (параметр flavorName).

      Используется cluster-autoscaler’ом при планировании, только когда в NodeGroup’е еще нет узлов (при minPerZone равном 0). Если в NodeGroup уже есть узлы, cluster-autoscaler использует при планировании фактические данные (CPU, memory) о мощности узла и не использует данные параметра capacity.

      Параметр необходимо указывать только для нестандартных типов инстансов. Параметры стандартных типов инстансов (m1.medium, m1.large и т. п.) заложены в Deckhouse.

      • spec.capacity.cpu
        строка или число

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

        Количество vCPU узла.

        Шаблон: ^[0-9]+m?$

        Пример:

        cpu: 1000m
        
      • spec.capacity.memory
        строка или число

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

        Количество памяти узла.

        Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$

        Пример:

        memory: 1500Mi
        
    • spec.flavorName
      строка

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

      Тип заказываемых виртуальных машин.

      Получить список всех доступных flavor’ов можно с помощью команды: openstack flavor list.

      Для всех не master-узлов желательно использовать flavor’ы с локальным диском. Если в облаке поддерживаются локальные диски, они обычно быстрее и дешевле. Недостатком использования таких flavor’ов является невозможность миграции узлов между гипервизорами.

      Пример создания flavor’а: openstack flavor create c4m8d50 --ram 8192 --disk 50 --vcpus 4

      Пример:

      flavorName: m1.medium
      
    • spec.imageName
      строка

      Необязательный параметр.

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

      Получить список всех доступных образов можно с помощью команды: openstack image list.

      Список поддерживаемых Deckhouse ОС и их версий можно найти в документации (учитывайте используемую версию Deckhouse).

      По умолчанию используется значение либо из OpenStackCloudDiscoveryData, либо из настроек instances.imageName.

      Пример:

      imageName: ubuntu-18-04-cloud-amd64
      
    • spec.mainNetwork
      строка

      Необязательный параметр.

      Путь до сети, которая будет подключена к виртуальной машине как основная (шлюз по умолчанию).

      По умолчанию используется значение из OpenStackCloudDiscoveryData.

      Пример:

      mainNetwork: k8s-msk-178
      
    • spec.rootDiskSize
      целочисленный

      Необязательный параметр.

      Размер root-диска. Значение указывается в гигабайтах.

      Параметр также влияет на тип диска. Подробнее…

      Пример:

      rootDiskSize: 20
      

Параметры группы OpenStack servers, которые будет использовать machine-controller-manager (модуль node-manager).

На этот ресурс ссылается ресурс CloudInstanceClass модуля node-manager.

  • spec
    объект

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

    • spec.additionalNetworks
      массив строк

      Список сетей, которые будут подключены к инстансу.

      По умолчанию используется значение из OpenStackCloudDiscoveryData.

      Пример:

      additionalNetworks:
      - BGP-network-VLAN-3894
      - External-VLAN-3699
      
    • spec.additionalSecurityGroups
      массив строк

      Дополнительный список security groups, которые будут добавлены на заказанные инстансы соответствующего OpenStackInstanceClass в дополнение к указанным в конфигурации cloud-провайдера.

      Используется для задания правил firewall по отношению к заказываемым инстансам.

      SecurityGroups могут не поддерживаться провайдером.

      Пример:

      additionalSecurityGroups:
      - security-group-1
      - security-group-2
      
    • spec.additionalTags
      объект

      Дополнительные теги, которые будут присвоены созданным инстансам в дополнение к указанным в конфигурации cloud-провайдера.

      Пример:

      additionalTags:
        project: cms-production
        severity: critical
      
    • spec.capacity
      Параметр устарел
      объект

      Устарело: параметр больше не используется. Для переданного типа инстанса Deckhouse использует параметры, полученные из облака.

      Емкость инстанса для нестандартных типов инстансов (параметр flavorName).

      Используется cluster-autoscaler’ом при планировании, только когда в NodeGroup’е еще нет узлов (при minPerZone равном 0). Если в NodeGroup уже есть узлы, cluster-autoscaler использует при планировании фактические данные (CPU, memory) о мощности узла и не использует данные параметра capacity.

      Параметр необходимо указывать только для нестандартных типов инстансов. Параметры стандартных типов инстансов (m1.medium, m1.large и т. п.) заложены в Deckhouse.

      • spec.capacity.cpu
        строка или число

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

        Количество vCPU узла.

        Шаблон: ^[0-9]+m?$

        Пример:

        cpu: 1000m
        
      • spec.capacity.memory
        строка или число

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

        Количество памяти узла.

        Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$

        Пример:

        memory: 1500Mi
        
    • spec.flavorName
      строка

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

      Тип заказываемых виртуальных машин.

      Получить список всех доступных flavor’ов можно с помощью команды: openstack flavor list.

      Для всех не master-узлов желательно использовать flavor’ы с локальным диском. Если в облаке поддерживаются локальные диски, они обычно быстрее и дешевле. Недостатком использования таких flavor’ов является невозможность миграции узлов между гипервизорами.

      Пример создания flavor’а: openstack flavor create c4m8d50 --ram 8192 --disk 50 --vcpus 4

      Пример:

      flavorName: m1.medium
      
    • spec.imageName
      строка

      Необязательный параметр.

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

      Получить список всех доступных образов можно с помощью команды: openstack image list.

      Список поддерживаемых Deckhouse ОС и их версий можно найти в документации (учитывайте используемую версию Deckhouse).

      По умолчанию используется значение либо из OpenStackCloudDiscoveryData, либо из настроек instances.imageName.

      Пример:

      imageName: ubuntu-18-04-cloud-amd64
      
    • spec.mainNetwork
      строка

      Необязательный параметр.

      Путь до сети, которая будет подключена к виртуальной машине как основная (шлюз по умолчанию).

      По умолчанию используется значение из OpenStackCloudDiscoveryData.

      Пример:

      mainNetwork: k8s-msk-178
      
    • spec.rootDiskSize
      целочисленный

      Необязательный параметр.

      Размер root-диска. Значение указывается в гигабайтах.

      Параметр также влияет на тип диска. Подробнее…

      Пример:

      rootDiskSize: 20