AWSInstanceClass

Scope: Cluster

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

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

  • specобъект

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

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

      Дополнительный список security groups, которые будут добавлены на заказанные инстансы соответствующего InstanceClass.

    • additionalTagsобъект

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

    • amiстрока

      Образ Amazon Machine Image (AMI ID), который будет использоваться в заказанных инстансах.

      Как найти нужный AMI (в каждом регионе AMI разные):

      aws ec2 --region <REGION> describe-images \
      --filters 'Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-2020*' | \
      jq '.Images[].ImageId'
      

      Пример:

      ami: ami-040a1551f9c9d11ad
      
    • capacityобъект

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

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

      Параметр необходимо указывать только для нестандартных типов инстансов. Параметры стандартных типов инстансов (t2.micro, m6a.12xlarge и т.п.) заложены в 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
        
    • diskSizeGbцелочисленный

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

      По умолчанию: 20

      Пример:

      diskSizeGb: 20
      
    • diskTypeстрока

      Тип созданного диска.

      По умолчанию: "gp2"

      Пример:

      diskType: gp2
      
    • instanceTypeстрока

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

      Тип заказываемых инстансов.

      Внимание! Следует убедиться, что указанный тип есть во всех зонах, перечисленных в параметре zones.

      Пример:

      instanceType: t3.large
      
    • iopsстрока

      Количество IOPS. Применяется только для diskType io1.

      Пример:

      iops: '500'
      
    • spotбулевый

      Создание spot-инстансов (spot instance). Spot-инстансы будут запускаться с минимально возможной для успешного запуска ценой за час.

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

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

  • specобъект

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

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

      Дополнительный список security groups, которые будут добавлены на заказанные инстансы соответствующего InstanceClass.

    • additionalTagsобъект

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

    • amiстрока

      Образ Amazon Machine Image (AMI ID), который будет использоваться в заказанных инстансах.

      Как найти нужный AMI (в каждом регионе AMI разные):

      aws ec2 --region <REGION> describe-images \
      --filters 'Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-2020*' | \
      jq '.Images[].ImageId'
      

      Пример:

      ami: ami-040a1551f9c9d11ad
      
    • capacityобъект

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

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

      Параметр необходимо указывать только для нестандартных типов инстансов. Параметры стандартных типов инстансов (t2.micro, m6a.12xlarge и т.п.) заложены в 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
        
    • diskSizeGbцелочисленный

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

      По умолчанию: 20

      Пример:

      diskSizeGb: 20
      
    • diskTypeстрока

      Тип созданного диска.

      По умолчанию: "gp2"

      Пример:

      diskType: gp2
      
    • instanceTypeстрока

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

      Тип заказываемых инстансов.

      Внимание! Следует убедиться, что указанный тип есть во всех зонах, перечисленных в параметре zones.

      Пример:

      instanceType: t3.large
      
    • iopsстрока

      Количество IOPS. Применяется только для diskType io1.

      Пример:

      iops: '500'
      
    • spotбулевый

      Создание spot-инстансов (spot instance). Spot-инстансы будут запускаться с минимально возможной для успешного запуска ценой за час.