AWSInstanceClass

Scope: Cluster

Parameters of the AWS instance used by machine-controller-manager (the node-manager modile).

The CloudInstanceClass resource of the node-manager module refers to this resource.

  • spec
    object

    Required value

    • spec.additionalSecurityGroups
      array of strings

      The additional security groups to add to provisioned instances of the specific InstanceClass.

    • spec.additionalTags
      object

      Extra AWS tags for instances in addition to AWSClusterConfiguration.tags.

    • spec.ami
      string

      The Amazon Machine Image (AMI ID) to use in provisioned instances.

      If omitted, the AMI defined in the masterNodeGroup.instanceClass.ami parameter of the AWSClusterConfiguration resource is used.

      Here is how you can find the required AMI (each region has its own set of AMIs):

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

      Example:

      ami: ami-040a1551f9c9d11ad
      
    • spec.capacity
      Deprecated
      object

      Deprecated: the parameter is no longer used. Deckhouse is using parameters from the cloud for passed instance type.

      Instance capacity for non-standard instance types (the instanceTypes parameter).

      Cluster-autoscaler uses the parameter for scheduling only when there are no nodes in NodeGroup yet (if minPerZone equal to 0). If there are already nodes in the NodeGroup, then cluster-autoscaler uses the actual node capacity (CPU, memory) when planning, and does not use the capacity parameter.

      The parameter must be specified only for non-standard instance types. Info about the capacity of standard instance types (t2.micro, m6a.12xlarge, etc.) is embedded in Deckhouse.

      • spec.capacity.cpu
        integer or string

        Required value

        Node vCPU resources.

        Pattern: ^[0-9]+m?$

        Example:

        cpu: 1000m
        
      • spec.capacity.memory
        integer or string

        Required value

        Node memory resources.

        Pattern: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$

        Example:

        memory: 1500Mi
        
    • spec.diskSizeGb
      integer

      Instance root disk size in gibibytes.

      Default: 20

      Example:

      diskSizeGb: 20
      
    • spec.diskType
      string

      Instance EBS disk type.

      Default: "gp2"

      Example:

      diskType: gp2
      
    • spec.instanceType
      string

      Required value

      Instance type of AWS instance.

      Caution! Ensure that this type is present in all zones specified in the zones parameter.

      Example:

      instanceType: t3.large
      
    • spec.iops
      string

      IOPS rate for io1 diskType

      Example:

      iops: '500'
      
    • spec.spot
      boolean

      Whether to create Spot Instances with minimum hourly price with which Instances will run.

Parameters of the AWS instance used by machine-controller-manager (the node-manager modile).

The CloudInstanceClass resource of the node-manager module refers to this resource.

  • spec
    object

    Required value

    • spec.additionalSecurityGroups
      array of strings

      The additional security groups to add to provisioned instances of the specific InstanceClass.

    • spec.additionalTags
      object

      Extra AWS tags for instances in addition to AWSClusterConfiguration.tags.

    • spec.ami
      string

      The Amazon Machine Image (AMI ID) to use in provisioned instances.

      If omitted, the AMI defined in the masterNodeGroup.instanceClass.ami parameter of the AWSClusterConfiguration resource is used.

      Here is how you can find the required AMI (each region has its own set of AMIs):

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

      Example:

      ami: ami-040a1551f9c9d11ad
      
    • spec.capacity
      Deprecated
      object

      Deprecated: the parameter is no longer used. Deckhouse is using parameters from the cloud for passed instance type.

      Instance capacity for non-standard instance types (the instanceTypes parameter).

      Cluster-autoscaler uses the parameter for scheduling only when there are no nodes in NodeGroup yet (if minPerZone equal to 0). If there are already nodes in the NodeGroup, then cluster-autoscaler uses the actual node capacity (CPU, memory) when planning, and does not use the capacity parameter.

      The parameter must be specified only for non-standard instance types. Info about the capacity of standard instance types (t2.micro, m6a.12xlarge, etc.) is embedded in Deckhouse.

      • spec.capacity.cpu
        integer or string

        Required value

        Node vCPU resources.

        Pattern: ^[0-9]+m?$

        Example:

        cpu: 1000m
        
      • spec.capacity.memory
        integer or string

        Required value

        Node memory resources.

        Pattern: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$

        Example:

        memory: 1500Mi
        
    • spec.diskSizeGb
      integer

      Instance root disk size in gibibytes.

      Default: 20

      Example:

      diskSizeGb: 20
      
    • spec.diskType
      string

      Instance EBS disk type.

      Default: "gp2"

      Example:

      diskType: gp2
      
    • spec.instanceType
      string

      Required value

      Instance type of AWS instance.

      Caution! Ensure that this type is present in all zones specified in the zones parameter.

      Example:

      instanceType: t3.large
      
    • spec.iops
      string

      IOPS rate for io1 diskType

      Example:

      iops: '500'
      
    • spec.spot
      boolean

      Whether to create Spot Instances with minimum hourly price with which Instances will run.