I would like to make sure my Okteto installation is highly available, so that Okteto developers can continue their work in case a Node goes down.
High Availability means that if one cluster Node goes into Not Ready
status, your Okteto installation keeps running smoothly.
This keeps your organization’s developers from being interrupted during Node failures due to network issues, resource exhaustion, misconfigurations, or underlying hardware problems.
To achieve High Availability of an Okteto component, the following points should be considered:
- More than 1 replica of each Okteto component.
- The replicas of each okteto component run on different nodes.
- Configure Buildkit for High Performance.
The implementation of each of these points is described in more detail below.
1. Multiple Replicas
The Okteto documentation for Helm Chart configuration is where you can find the replicaCount
setting to allow for more than one replica for each Okteto component:
- api
- buildkit
- defaultBackend
- frontend
- privateEndpoints
- regcredsManager
- registry *
- sshAgent
- webhook
- ingress controllers
* Note that the registry component cannot be scaled to more than 1 replica if your Okteto installation is using the filesystem
storage mechanism to store the generated images. More information on registry storage here.
2. Separate Nodes
To make sure that the replicas of the same deployment of each of the Okteto components is running on separate nodes, set the following in your Helm configuration values file:
affinity:
require: true
3. Buildkit High Performance
To make the Buildkit highly performant and available, you can follow our guide to configuring BuildKit for High Performance.