AzureClusterConfiguration

Version: deckhouse.io/v1

  • apiVersion (string)

    Allowed values: deckhouse.io/v1, deckhouse.io/v1alpha1

    Required value.

  • kind (string)

    Allowed values: AzureClusterConfiguration

    Required value.

  • layout (string)

    The way resources are located in the cloud.

    Read more about possible provider layouts.

    Allowed values: Standard

    Required value.

  • masterNodeGroup

    The definition of the master’s NodeGroup.

    Required value.

    • instanceClass (object)

      Partial contents of the AzureInstanceClass fields.

      Required value.

      • additionalTags (object)

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

        Example:

        project: cms-production
        severity: critical
        
      • diskSizeGb (integer)

        Instance root disk size in gigabytes.

        Example: 40

      • diskType (string)

        The type of the volume to create.

        You can view a list of available volume types using the Azure CLI:

        az vm list-skus -l westeurope --zone`
        

        Example: "StandardSSD_LRS"

      • enableExternalIP (boolean)

        Only available for the Standard layout.

        • false — the nodes do not have public addresses and access the Internet over NAT.
        • true — static public addresses are created for nodes.

        Default: false

        Allowed values: true, false

      • machineSize (string)

        The type of instances to provision.

        You can view a list of available types for the specific region using the Azure CLI:

        az vm list-sizes --location westeurope -o table
        

        Example: "Standard_F4"

        Required value.

      • urn (string)

        The VM image to use for an instance.

        More information about virtual machine images can be found in the official documentation.

        You can get the latest version of an image using the Azure CLI:

        • az vm image show --urn Canonical:UbuntuServer:18.04-LTS:latest --location westeurope
        • az vm image show --urn Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest --location westeurope

        By default: The image specified in AzureCloudDiscoveryData is used (the master of the cluster is based on this image).

        Caution! Currently, only Ubuntu 18.04, Ubuntu 20.04, Centos 7 are supported and tested to work.

        Required value.

    • replicas (integer)

      The number of master nodes to create.

      Allowed values: 1 <= X

      Required value.

    • zones (array of strings)

      A list of zones where master nodes can be created.

      You can browse a list of zones available for the selected instance type using the Azure CLI:

      az vm list-skus -l westeurope -o table
      

      Default: [1,2,3]

  • nodeGroups (array of objects)

    An array of additional NodeGroups for creating static nodes (e.g., for dedicated front nodes or gateways).

    • instanceClass (object)

      Partial contents of the fields of the AzureInstanceClass.

      Required value.

      • additionalTags (object)

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

        Example:

        project: cms-production
        severity: critical
        
      • diskSizeGb (integer)

        Instance root disk size in gigabytes.

        Example: 40

      • diskType (string)

        The type of the volume to create.

        You can view a list of available volume types using the Azure CLI:

        az vm list-skus -l westeurope --zone`
        

        Example: "StandardSSD_LRS"

      • enableExternalIP (boolean)

        Only available for the Standard layout.

        • false — the nodes do not have public addresses and access the Internet over NAT.
        • true — static public addresses are created for nodes.

        Default: false

        Allowed values: true, false

      • machineSize (string)

        The type of instances to provision.

        You can view a list of available types for the specific region using the Azure CLI:

        az vm list-sizes --location westeurope -o table
        

        Example: "Standard_F4"

        Required value.

      • urn (string)

        The VM image to use for an instance.

        More information about virtual machine images can be found in the official documentation.

        You can get the latest version of an image using the Azure CLI:

        • az vm image show --urn Canonical:UbuntuServer:18.04-LTS:latest --location westeurope
        • az vm image show --urn Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest --location westeurope

        By default: The image specified in AzureCloudDiscoveryData is used (the master of the cluster is based on this image).

        Caution! Currently, only Ubuntu 18.04, Ubuntu 20.04, Centos 7 are supported and tested to work.

        Required value.

    • name (string)

      The name of the NodeGroup to use for generating node names.

      Required value.

    • nodeTemplate

      Parameters of Node objects in Kubernetes to add after registering the node.

      • annotations (object)

        The same as the metadata.annotations standard field.

        Example:

        annotations:
          ai.fleet.com/discombobulate: "true"
        
      • labels (object)

        A list of labels to attach to cluster resources.

        The same as the metadata.labels standard field.

        Note that you have to re-create all the machines to add new tags if tags were modified in the running cluster.

        Format — key: value.

        Example:

        labels:
          environment: production
          app: warp-drive-ai
        
      • taints (array of objects)

        The same as the .spec.taints field of the Node object.

        Caution! Only the effect, key, values fields are available.

        Example:

        taints:
        - effect: NoExecute
          key: ship-class
          value: frigate
        
        • effect (string)

          Allowed values: NoSchedule, PreferNoSchedule, NoExecute

        • key (string)
        • value (string)
    • replicas (integer)

      The number of nodes to create.

      Required value.

    • zones (array of strings)

      A list of zones where static nodes can be created;

      You can browse a list of zones available for the selected instance type using the Azure CLI:

      az vm list-skus -l westeurope -o table
      

      Default: [1,2,3]

  • peeredVNets (array of objects)

    An array of VNets to merge with the cluster network.

    The service account must have access to all the VNets listed above. You have to configure the peering connection manually if no access is available.

    • resourceGroupName (string)

      The name of the resource group with the VNet.

      Required value.

    • vnetName (string)

      The name of the VNet.

      Required value.

  • provider (object)

    Parameters for connecting to the Azure API.

    Required value.

    • clientId (string)

      The client ID.

      Required value.

    • clientSecret (string)

      The client’s secret.

      Required value.

    • location (string)

      The name of the region to create all the resources.

      Required value.

    • subscriptionId (string)

      The ID of the subscription.

      Required value.

    • tenantId (string)

      The ID of the tenant.

      Required value.

  • sshPublicKey (string)

    Public key to access nodes as azureuser.

    Required value.

  • standard (object)

    Settings for the Standard layout.

    • natGatewayPublicIpCount (integer)

      The number of IP addresses for the NAT Gateway (pricing). NAT Gateway is not used if the value is 0.

      Default: 0

  • subnetCIDR (string)

    A subnet from the vNetCIDR address space for cluster nodes.

    Pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

    Example: "10.1.2.0/24"

    Required value.

  • tags (object)

    A list of tags in the key: value format to attach to all cluster resources.

    You have to re-create all the machines to add new tags if tags were modified in the running cluster.

  • vNetCIDR (string)

    An address space of the virtual network in the CIDR format.

    Pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$

    Example: "10.0.0.0/16"

    Required value.

  • zones (array of strings)

    The globally restricted set of zones that this Cloud Provider works with.