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're creating a cluster on Google Cloud Platform, the Google project ID field will be automatically filled based on the provided credentials.

Resource quotas and regions

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. You may need to opt-in to a region first. 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 .

Select a VPC and subnets

Amazon Web Services only

This section is only applicable to clusters created in Amazon EKS. You can skip this step if you are creating a cluster on another cloud provider.

When you create an Amazon Web Services cluster you can select which Virtual Private Cloud to use. The VPC defines public and private networks in your clusters, allowing access to other AWS services and the internet. You may want to use a custom VPC to deploy into a private node pool with no public access, or to access other services in your AWS account. Separate VPCs are defined for each region.

If you do not need custom networking for your AWS cluster, you can select the default VPC . You cannot modify the components of the default VPC, and it should include a public and private subnet for each availability zone.

You can select a custom VPC that you have defined in your account and selected region. You can create and manage your VPCs in the AWS console . Your VPC must have at least one public subnet to allow Northflank to manage the cluster. You must have created a subnet in each availability zone that you want to use. Read more about VPC requirements and considerations here .

Cluster subnet selection

You can select which subnets (and therefore availability zones) will host the control plane components for your cluster. This has no impact on the availability zones that you can select for node pools, provided your VPC has a subnet in the desired availability zone.

VPC egress via static IP

If you are using the default VPC you can enable static egress to route the cluster’s outgoing traffic through a static IP. This is useful if you use external services that only accept requests from specified IP addresses, as AWS default VPCs do not have a static egress IP and cannot be modified.

If you are using a custom VPC, you must set up your own static egress IP for your cluster in AWS.

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. Click add node pool to add another pool.

Each cluster requires at least one node pool, and a combined minimum of 4 vCPU and 8GB memory across all node pools.

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.

See deploy and scale node pools on a Kubernetes cluster with Northflank for more information on configuring nodes and node pools.

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.

Set volume deletion preferences

By default, Northflank will delete all volumes and volume snapshots (from addon backups) when you delete a cluster.

If you want to retain these volumes you can expand the advanced menu and uncheck them, or uncheck them in the settings on an existing cluster, on the cluster details page.

Please note that you will still be billed by your cloud provider for any volumes left after cluster deletion. You should always delete your Northflank-created clusters through the Northflank interface to avoid orphaned resources.

Provision and install cluster

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

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.