How to Create High-Availability DOKS Clusters Early Availability

DigitalOcean Kubernetes (DOKS) is a managed Kubernetes service that lets you deploy Kubernetes clusters without the complexities of handling the control plane and containerized infrastructure. Clusters are compatible with standard Kubernetes toolchains and integrate natively with DigitalOcean Load Balancers and block storage volumes.

Clusters with high-availability (HA) control plane are in Early Availability. HA clusters have replicated control plane components.

The HA control plane is managed by multiple control plane nodes. A control plane node can fail over to a redundant replica node, thus resulting in reduced downtime. DigitalOcean manages the Kubernetes control plane and the underlying containerized infrastructure.

You can continue to use the non-HA control plane or take advantage of reduced downtime by enabling the HA setting.

Note
The HA option can have some additional cost. Once enabled, you cannot disable the HA setting during the Early Availability period.

Pricing

High-availability control plane is free if your cluster has one of the following:

  • Uses a professional plan with at least one node pool with a minimum of three fixed nodes.

  • Uses a professional plan and auto-scales with three minimum nodes. For example, if you are on a two-node cluster that scales to minimum three nodes, it qualifies for a free HA.

If you have multiple node pools, then you must have at least one production plan node pool with three nodes to qualify for free HA.

If your cluster is not eligible for free high-availability control plane, you can enable the option for $40/month on an hourly prorated basis.

Increasing your production plan node size to three or more automatically switches your HA usage to free. Likewise, decreasing your production plan node size to less than three automatically switches you to paying for the feature.

Note
Clusters created during Early Availability will continue to be billed at $40/month, even if the pricing for the HA option changes at General Availability.

Limits

  • Clusters cannot be created on versions prior to 1.21.3-do.0.

  • HA option is not available if you are upgrading an existing cluster to the latest version.

  • Once enabled, the HA option cannot be disabled.

  • Clusters can only be created in the NYC1, SFO3, AMS3 and SGP1 regions.

Create a High-Availability Cluster in Control Panel

To create a cluster on a high-availability control plane using the control panel, follow the steps described in Create Clusters. In the Choose cluster capacity section, select the Create cluster on a high availability control plane option. The cost for the high-availability option is displayed. If you choose a professional node plan with a minimum of three nodes, you can get high availability for free.

HA pricing

Create a High-Availability Cluster at Command Line

To create a cluster with a high-availability control plane using doctl, run the doctl kubernetes cluster create command with the --ha flag.

The high availability option is not free with the default node pool specification. To get high availability for free, use the --node-pool flag to change to a professional node plan with a minimum of three nodes.

doctl kubernetes cluster create <cluster_name> --node-pool --ha

By default, the cluster is created in the nyc1 region. You can use the --region flag to specify the region as sfo3, ams3, or sgp1.

Validate High-Availability Cluster Configuration

To validate that your cluster is running on a high-availability control plane, go to the Nodes tab of your cluster in the control panel. The UI displays the message Your cluster is running on a high availability control plane.