v1

Cloud Providers /

Deploy and scale node pools on a Kubernetes cluster with Northflank

You can add, configure, scale, and delete node pools on the node pools page in your cluster overview.

Click add node pool to add another pool, and to delete a node pool. Each cluster requires at least one node pool (Azure requires one pool to be the system node pool).

You should increase your nodes or add a node pool if your services are failing to progress from the staging state, which indicates your cluster is at capacity. You can either increase the number of nodes in a pool, or add another node pool if the capacity of your node pools is exceeded. As each node in a pool is identical, adding another pool will allow you to add nodes of a different type, with autoscaling, spot instances, or larger disk sizes.

You are recommended to provision a cluster with a node size that strikes a balance of node redundancy and resource efficiency, while taking into account your workload's specific requirements. Too few nodes make workloads susceptible to downtime due to node failures and replacements, while too many small nodes are less cost effective as they incur a larger system overhead.

Click here to view your clusters.

Select node type

The types of node available depend on your selected cloud provider, and you must have sufficient resource quotas available to deploy the desired type and quantity of nodes. Refer to the documentation for your cloud provider to select a type of node with sufficient resources for your workloads.

note

Services, jobs, and addons created in a project on your cluster will only be able to use compute plans that can be deployed on nodes with corresponding resources. For example, a deployment service with a selected compute plan of 4 vCPU will not be provisioned if the the largest available node on your cluster is only 2 vCPU.

Select node disk

You can select the size of disk to assign to each node in the pool. Each node will use a disk of the specified size as ephemeral storage for workloads, cached image layers, and container logs.

Some node types may also have the option to choose the type of disk to use: SSD or HDD.

Set node count and autoscaling

Select the number of nodes to create in the pool. Each node will be created with the same specifications defined by the node type.

Autoscaling

You can enable autoscaling to allow the cluster to automatically increase and decrease the number of nodes in the pool based on workload demand. Define a minimum and maximum number of nodes to ensure consistent availability, and to cap usage. Autoscaling can help prevent issues from attempting to run too many workloads for a set number of nodes, but will also mean your billing from your cloud provider will vary if more nodes are deployed.

Use spot instances

You can enable spot instances for a node pool to run workloads at a reduced cost on your chosen cloud provider, but these instances may be restarted at short notice. You may encounter issues provisioning node pools if the amount of available spot instances in a region or availability zone on a cloud provider is reduced.

Spot instances can be a good option to reduce costs for development and testing workloads, but you should ensure production applications can be interrupted and resumed without issue to take advantage of cheaper computing in off-peak hours. Otherwise, your production workloads should not be deployed with spot instances.

Spot instances are not available on Civo clusters.

Set scheduling rules

You can enable or disable different workloads from being scheduled on a node pool in the advanced menu when creating or updating a node pool.

You can configure whether to allow services, jobs, addons, or builds to be deployed to nodes in the pool. This allows you to deploy on node pools with an optimal configuration for a specific type of workload.

Add labels

You can add labels to your node pools to create tags with node affinity rules

You can add labels to new node pools, but they cannot be modified after creation.

Navigate to your cluster and add a new node pool with your desired configuration.

Expand the advanced section and enter as many labels as required, as a name-value pair. This allows you to create rules across different node pools and clusters by testing against values for a specific label.

See deploy your workloads to specific node pools for more information.

© 2024 Northflank Ltd. All rights reserved.