Create a Kubernetes cluster with Northflank | Cloud Providers | Northflank Application docs
v1

Cloud Providers /

Create a Kubernetes cluster with Northflank

To add a new cluster, navigate to the clusters page in your account settings and click create cluster.

Select the cloud provider you want to create a cluster on. You can create a new cluster using credentials already saved to your account, or create a new integration.

Click here to create a new cluster.
Create a new cluster in the Northflank application

Enter a recognisable name for the cluster, select the region to deploy in and choose the Kubernetes version to use. The available regions and Kubernetes versions depend on your chosen cloud provider. If you are deploying on Google Cloud Platform, enter your Google project ID.

Resource quotas

To successfully install Northflank on any cloud provider, create a cluster, and provision node pools, you must have the required resources available in your account, project, and/or region.

Check the node types you wish to deploy and ensure your cluster has access to the relevant resources. The specific quotas for each provider may differ, you will need to ensure you have sufficient quotas for your required node type, vCPU, and disk type for your desired regions.

Google Cloud quota settings

You can manage your Google quota settings from your quotas page on the IAM and admin page of your Google Cloud project. You can filter the list by resource and region.

For example, to increase the number of node pools you can deploy on Google Cloud using the n2-standard-4 node type in the region europe-west2, filter the quota list with region:europe-west2 and n2_cpus, select the quota from the list, and click edit quotas.

Azure subscription quotas

Check and edit your Azure subscription quotas from the usage + quotas page of the relevant subscription. You can filter the quotas by provider as well as region.

For example, to increase the number of node pools you can deploy on Azure using the Standard_D2ds_v5 node type you should select the resource provider compute, filter quotas by your cluster's region, select Standard DDSv5 Family vCPUs from the list, and request a quota increase. This will also automatically increase your Total Regional vCPUs quota, if the request is successful.

AWS service quotas

You can change your AWS service quotas by selecting the relevant region in the console and navigating to the service quotas page. Choose the relevant AWS service from the dashboard, or search for it on the AWS services page, then search for the relevant resource quotas to increase.

For example, to increase the number of node pools you can deploy on AWS using the m5.large node type select the relevant region in the console, search for and open the AWS service Amazon Elastic Compute Cloud (Amazon EC2), search for Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances and click request quota increase.

Civo quotas

You can view your account quota in your Civo settings on the quota page , and request quota increases from this page. Provisioning Northflank clusters will require sufficient quotas for instances, CPUs, RAM, Disk, and Volumes.

Learn more on the Civo documentation on quotas .

Configure node pools

You can now configure the node pools for your cluster. Node pools can also be added, deleted, and updated after creating your cluster.

Each cluster requires at least one node pool. Click add node pool to add another pool.

Azure system node pool

If you are creating a cluster on Azure one node pool must be assigned as the system node pool to schedule non-user workloads. For best performance you should assign it more than one node and disable autoscaling.
Create a new Azure node pool in the Northflank application

See manage and use your Kubernetes cluster for more information on nodes and node pools.

Google project ID

The Google project ID field will be automatically filled based on the provided credentials.

Select build infrastructure

You can configure the build infrastructure for the clusters you create, which allows you to define where all builds in projects on that cluster will take place, and what compute resources will be granted to builds (build plans).

This option can be found under advanced when creating a cluster, or in settings on the details page for existing clusters.

Select a build cluster

You can select another cluster that you have provisioned specifically for builds, and the cluster you are currently configuring will then deploy all build workloads to the build cluster. All builds will use the build plan configured on the target build cluster.

This gives you the flexibility to:

  • ensure build workloads have capacity to be scheduled and completed by using a pooled build cluster, separate from your deployment clusters
  • ensure your deployments and jobs are not delayed by build workloads
  • select spot instances to reduce costs
  • use another cloud provider and different node types, if required

Build using the Northflank platform as a service

You can select this option to build using Northflank's platform as a service, paying only for the usage of compute resources. Specific build plans can be selected in each service or job.

Build on the same cluster

You can choose to build and deploy on the same cluster, and select the specific build plan for all builds to use. The selected build plan will override build plans selected by users in their services and jobs created on that cluster. You should ensure that your node pools have sufficient resources and nodes to provision both deployments and build workloads.

Configure resources

You can configure the minimum resources requested by containers on a cluster by changing the request modifiers under advanced when creating a cluster, or in settings on the details page for existing clusters.

Containers request resources from a node according to the selected compute or build plan for a service, job, or addon. The request modifiers reduce the resources specified in the plan by a percentage, so a request modifier of 0.7 will request 70% of the resource defined in the plan. This defines the minimum resources that will be requested by a container from a node, but the container can use the full amount of resources specified in the plan if there is available capacity on a node. The resources available to the container will be throttled to the minimum request, as calculated by the container's plan and the request modifiers, if the available resources are reduced by other containers deployed to the node.

Reducing the request modifiers allows you to over-provision a node with containers, which can optimise your costs if your workload's average requirements are expected to be smaller than the resources of the selected plan. For example, you could provision a node with 10 vCPUs and use compute plans that request 2 vCPUs for deployment services, which would mean that 5 containers would be deployed on a node (ignoring overheads). By setting the service CPU request modifier to 0.5 the same node could now deploy up to 10 containers for the deployment service, with each container throttled to less than 2 vCPU as more workloads are deployed on the node, until they reach a minimum of 1 vCPU for each container.

  • Workloads will be increasingly throttled as other containers are deployed on a node, until they reach their minimum requested resources. Consider how much CPU and memory your workloads will require when configuring request modifiers.
  • Excessive memory throttling can cause out of memory issues for your containers, and can lead to node crashes.

Request modifiers affect all container deployments on the cluster, and will reduce the resources requested by all compute and build plans by the same percentage. Changing the request modifiers for addons on an existing cluster will restart any addons on the cluster.

Provision and install cluster

Click create cluster and Northflank will begin provisioning resources and installing the platform on your cloud provider. This may take 15-20 minutes.

Northflank will first create the cluster and node pools, and then install the Northflank components for network, certificate, volume, and workload management. You can monitor the process by selecting the cluster from the clusters page in account settings.

You, and team members, can now create projects with your cluster as the provider to begin using it.

© 2024 Northflank Ltd. All rights reserved.