5.1. Creating the compute cluster

Before creating a compute cluster, make sure the following requirements are met:

  • The traffic types VM private, VM public, Compute API, and VM backups are assigned to networks. The full recommended network configuration is described in Managing networks and traffic types.
  • The nodes to be added to the compute cluster are connected to these networks and to the same network with the VM public traffic type.
  • The nodes to be added to the compute cluster have the same CPU model (refer to Setting virtual machine CPU model).
  • (Recommended) High availability for the management node is enabled (refer to Enabling high availability).

To create the compute cluster, open the Compute screen, click Create compute cluster, and then do the following in the Configure compute cluster window:

  1. On the Nodes step, add nodes to the compute cluster:

    1. Select the nodes to add to the compute cluster. You can only select nodes with the Configured network state. Nodes in the management node high availability cluster are automatically selected to join the compute cluster.

      Note

      The compute cluster must have at least three nodes, to allow self-service users to enable high availability for Kubernetes master nodes.

    2. If the node network interfaces are not configured, click the cogwheel icon, select the networks as required, and then click Apply.

    3. Click Next.

    ../_images/creating_compute1_ac.png
  2. On the Physical network step, do the following:

    1. Enable IP address management, if needed:

      • With IP address management enabled, VMs connected to the network will automatically be assigned IP addresses from allocation pools by the built-in DHCP server and use custom DNS servers. Additionally, spoofing protection will be enabled for all VM network ports by default. Each VM network interface will be able to accept and send IP packets only if it has IP and MAC addresses assigned. You can disable spoofing protection manually for a VM interface, if required.
      • With IP address management disabled, VMs connected to the network will obtain IP addresses from the DHCP servers in that network, if any. Also, spoofing protection will be disabled for all VM network ports, and you cannot enable it manually. This means that each VM network interface, with or without assigned IP and MAC addresses, will be able to accept and send IP packets.

      In any case, you will be able to manually assign static IP addresses from inside the VMs.

    2. Provide the required details for the physical network:

      1. Select an infrastructure network to connect the physical network to.

      2. Select the physical network type: select VLAN and specify a VLAN ID to create a VLAN-based network, or select Untagged to create a flat physical network.

        Note

        You can create only one untagged network over an infrastructure network.

      3. If you enabled IP address management, the subnet IP range in the CIDR format will be filled in automatically. Optionally, specify a gateway. If you leave the Gateway field blank, the gateway will be omitted from network settings.

    3. Click Next.

    ../_images/creating_compute2_ac.png

    The selected physical network will appear in the list of compute networks on compute cluster’s Network tab. By default, it will be shared between all future projects. You can disable the network access on the network right pane later.

  3. If you enabled IP address management, you will move on to the DHCP and DNS step, where you can configure the network settings for IP address management:

    1. Enable or disable the built-in DHCP server:

      • With the DHCP server enabled, VM network interfaces will automatically be assigned IP addresses: either from allocation pools or, if there are no pools, from the network’s entire IP range.
      • With the DHCP server disabled, VM network interfaces will still get IP addresses, but you will have to manually assign them inside VMs.

      The virtual DHCP service will work only within the current network and will not be exposed to other networks.

    2. Specify one or more allocation pools (ranges of IP addresses that will be automatically assigned to VMs).

    3. Specify DNS servers that will be used by virtual machines. These servers can be delivered to VMs via the built-in DHCP server or by using the cloud-init network configuration (if cloud-init is installed in the VM).

    4. Click Next.

    ../_images/creating_compute3_ac.png
  4. On the Add-on services step, enable the additional services that will be installed during the compute cluster deployment. You can also install these services later (refer to Managing add-on services). Then, click Next.

    ../_images/creating_compute4_ac.png

    Important

    To be able to deploy and work with Kubernetes clusters, make the following services accessible:

    • The etcd discovery service at https://discovery.etcd.io—from all management nodes and the public network with the VM public traffic type.
    • The public Docker Hub repository at https://registry-1.docker.io—from the public network with the VM public traffic type.
    • The compute API—from the public network with the VM public traffic type.
    • The Kubernetes API at the public or floating IP address of the Kubernetes load balancer or master VM on port 6443—from all management nodes.

    If the Compute API traffic type is added to a private network that is inaccessible directly from the network with the VM public traffic type, but exposed to public networks via NAT and available publicly via the DNS name, you need to set the DNS name for the compute API, as described in Setting a DNS name for the compute API.

    Note

    Installing Kubernetes automatically installs the load balancer service as well.

  5. On the Summary step, review the configuration, and then click Create cluster.

    ../_images/creating_compute5_ac.png

You can monitor compute cluster deployment on the Compute screen.