Доступно только в Enterprise Edition.

OpenStackInstanceClass

Scope: Cluster

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

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

  • specобъект

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

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

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

      По умолчанию: значение из OpenStackCloudDiscoveryData.

      Пример:

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

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

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

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

      Пример:

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

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

      Пример:

      additionalTags:
        project: cms-production
        severity: critical
      
    • capacityобъект

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

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

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

      • cpuстрока или число

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

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

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

        Пример:

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

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

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

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

        Пример:

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

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

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

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

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

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

      Пример:

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

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

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

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

      Внимание! Сейчас поддерживается и тестируется только Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Centos 7, Centos 8, Centos 9, Debian 9, Debian 10, Debian 11.

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

      Пример:

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

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

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

      По умолчанию: значение из OpenStackCloudDiscoveryData.

      Пример:

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

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

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

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

      Пример:

      rootDiskSize: 20
      

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

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

  • specобъект

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

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

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

      По умолчанию: значение из OpenStackCloudDiscoveryData.

      Пример:

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

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

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

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

      Пример:

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

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

      Пример:

      additionalTags:
        project: cms-production
        severity: critical
      
    • capacityобъект

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

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

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

      • cpuстрока или число

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

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

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

        Пример:

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

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

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

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

        Пример:

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

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

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

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

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

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

      Пример:

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

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

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

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

      Внимание! Сейчас поддерживается и тестируется только Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Centos 7, Centos 8, Centos 9, Debian 9, Debian 10, Debian 11.

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

      Пример:

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

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

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

      По умолчанию: значение из OpenStackCloudDiscoveryData.

      Пример:

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

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

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

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

      Пример:

      rootDiskSize: 20