This feature is available in Enterprise Edition only.

OpenStackInstanceClass

Scope: Cluster

Parameters of a group of OpenStack servers used by machine-controller-manager (the node-manager module).

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

  • spec
    object

    Required value

    • spec.additionalNetworks
      array of strings

      Paths to networks that VirtualMachines’ secondary NICs will connect to.

      By default: the value from OpenStackCloudDiscoveryData is used.

      Example:

      additionalNetworks:
      - BGP-network-VLAN-3894
      - External-VLAN-3699
      
    • spec.additionalSecurityGroups
      array of strings

      Security groups that will be applied to VM’s network ports in addition to security groups set in a cloud provider configuration.

      They allow you to set firewall rules for provisioned instances.

      The SecurityGroups may not be supported by the cloud provider.

      Example:

      additionalSecurityGroups:
      - security-group-1
      - security-group-2
      
    • spec.additionalTags
      object

      The additional tags to attach to the instances created (in addition to those specified in the cloud provider configuration).

      Example:

      additionalTags:
        project: cms-production
        severity: critical
      
    • 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 flavorName 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 (m1.medium, m1.large, 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.flavorName
      string

      Required value

      Flavor of OpenStack servers.

      Get a list of all available flavors: openstack flavor list.

      For all non-master nodes it is advisable to use flavor’s with a local disk. If cloud provider supports local disks they are usually faster and cheaper. The disadvantage of using such flavors is the inability to migrate nodes between hypervisors.

      Flavor create example: openstack flavor create c4m8d50 --ram 8192 --disk 50 --vcpus 4

      Example:

      flavorName: m1.medium
      
    • spec.imageName
      string

      Not required value.

      Image to use while provisioning OpenStack servers.

      Use this command to get a list of available images: openstack image list.

      The list of OS and their versions supported by Deckhouse can be found in the documentation (take into account the Deckhouse version used).

      By default: either OpenStackCloudDiscoveryData value or instances.imageName is used.

      Example:

      imageName: ubuntu-18-04-cloud-amd64
      
    • spec.mainNetwork
      string

      Not required value.

      Path to the network that VirtualMachines’ primary NICs will connect to (default gateway).

      By default: the value from OpenStackCloudDiscoveryData is used.

      Example:

      mainNetwork: k8s-msk-178
      
    • spec.rootDiskSize
      integer

      Not required value.

      The size of a root disk (in gigabytes). This parameter also has influence on type of volume that will be used for root disk; the “How to use rootDiskSize and when it is preferred” section describes how to use it.

      Example:

      rootDiskSize: 20
      

Parameters of a group of OpenStack servers used by machine-controller-manager (the node-manager module).

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

  • spec
    object

    Required value

    • spec.additionalNetworks
      array of strings

      Paths to networks that VirtualMachines’ secondary NICs will connect to.

      By default: the value from OpenStackCloudDiscoveryData is used.

      Example:

      additionalNetworks:
      - BGP-network-VLAN-3894
      - External-VLAN-3699
      
    • spec.additionalSecurityGroups
      array of strings

      Security groups that will be applied to VM’s network ports in addition to security groups set in a cloud provider configuration.

      They allow you to set firewall rules for provisioned instances.

      The SecurityGroups may not be supported by the cloud provider.

      Example:

      additionalSecurityGroups:
      - security-group-1
      - security-group-2
      
    • spec.additionalTags
      object

      The additional tags to attach to the instances created (in addition to those specified in the cloud provider configuration).

      Example:

      additionalTags:
        project: cms-production
        severity: critical
      
    • 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 flavorName 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 (m1.medium, m1.large, 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.flavorName
      string

      Required value

      Flavor of OpenStack servers.

      Get a list of all available flavors: openstack flavor list.

      For all non-master nodes it is advisable to use flavor’s with a local disk. If cloud provider supports local disks they are usually faster and cheaper. The disadvantage of using such flavors is the inability to migrate nodes between hypervisors.

      Flavor create example: openstack flavor create c4m8d50 --ram 8192 --disk 50 --vcpus 4

      Example:

      flavorName: m1.medium
      
    • spec.imageName
      string

      Not required value.

      Image to use while provisioning OpenStack servers.

      Use this command to get a list of available images: openstack image list.

      The list of OS and their versions supported by Deckhouse can be found in the documentation (take into account the Deckhouse version used).

      By default: either OpenStackCloudDiscoveryData value or instances.imageName is used.

      Example:

      imageName: ubuntu-18-04-cloud-amd64
      
    • spec.mainNetwork
      string

      Not required value.

      Path to the network that VirtualMachines’ primary NICs will connect to (default gateway).

      By default: the value from OpenStackCloudDiscoveryData is used.

      Example:

      mainNetwork: k8s-msk-178
      
    • spec.rootDiskSize
      integer

      Not required value.

      The size of a root disk (in gigabytes). This parameter also has influence on type of volume that will be used for root disk; the “How to use rootDiskSize and when it is preferred” section describes how to use it.

      Example:

      rootDiskSize: 20