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.

  • specobject

    Required value

    • spec.additionalSecurityGroupsarray of strings

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

    • spec.additionalTagsobject

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

    • spec.amistring

      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.capacityDeprecatedobject

      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.cpuinteger or string

        Required value

        Node vCPU resources.

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

        Example:

        cpu: 1000m
        
      • spec.capacity.memoryinteger 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.diskSizeGbinteger

      Instance root disk size in gibibytes.

      Default: 20

      Example:

      diskSizeGb: 20
      
    • spec.diskTypestring

      Instance EBS disk type.

      Default: "gp2"

      Example:

      diskType: gp2
      
    • spec.instanceTypestring

      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.iopsstring

      IOPS rate for io1 diskType

      Example:

      iops: '500'
      
    • spec.spotboolean

      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.

  • specobject

    Required value

    • spec.additionalSecurityGroupsarray of strings

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

    • spec.additionalTagsobject

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

    • spec.amistring

      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.capacityDeprecatedobject

      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.cpuinteger or string

        Required value

        Node vCPU resources.

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

        Example:

        cpu: 1000m
        
      • spec.capacity.memoryinteger 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.diskSizeGbinteger

      Instance root disk size in gibibytes.

      Default: 20

      Example:

      diskSizeGb: 20
      
    • spec.diskTypestring

      Instance EBS disk type.

      Default: "gp2"

      Example:

      diskType: gp2
      
    • spec.instanceTypestring

      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.iopsstring

      IOPS rate for io1 diskType

      Example:

      iops: '500'
      
    • spec.spotboolean

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