Clusters
About Clusters
This section brings you answers to all the questions our users usually ask about clusters:
- What is a cluster?
- Why do I need a cluster?
- How do I set up a cluster?
- What are the different instance types available when creating a cluster?
- How does Qovery handle cluster updates and upgrades?
What is a cluster?
At Qovery, when we refer to clusters, we mean Kubernetes clusters. A Kubernetes cluster is a collection of node machines that allows you to run containerized applications. It is usually made up of:
- Pods: think of a pod as one instance of your application. Pods are the smallest deployable objects in Kubernetes, and they are hosted by worker nodes.
- Worker Nodes: worker nodes essentially run your applications and workloads. When you create a cluster from your Qovery Console, it generates the set up of worker nodes (also called “instances”, “EC2 instances” for AWS users, or “droplets” for DigitalOcean users). Qovery allows you to define worker nodes settings, so that you end up deploying the right type of instances on your infrastructure based on your CPU, memory, storage and network performance needs.
- a Control Plane (or Master Node): the control plane manages the worker nodes. Since we deploy managed Kubernetes services, the control plane is handled exclusively by your cloud provider, and left untouched by Qovery.
For more information on Kubernetes clusters, see the Kubernetes documentation.
Qovery allows you to create:
- (AWS users only) K3s (AWS EC2) single node clusters.
- EKS (Kubernetes Managed) multiple node clusters.
K3s Cluster | EKS Cluster | |
---|---|---|
Starting Cost | 20$/month | 200$/month |
Usage | Hobby projects, trying out Qovery, deploying preview environments on AWS. | Hosting professional applications in production (resilient, scalable and powerful infrastructure). |
For information on how to install:
- (AWS users only) a K3s cluster, see Creating a K3s Cluster (Single node cluster).
- an EKS cluster, see Creating an EKS Cluster (Multiple Node cluster).
Why do I need a cluster?
Qovery is built on top of Kubernetes, which means we need Kubernetes clusters to be able to deploy and run your applications.
Thanks to clusters, you can easily deploy several (and many) instances of the same application, so that if one fails, the others can instantly take over. Also, clusters can auto-scale, meaning that the number of worker nodes in a cluster can automatically go up or down as traffic fluctuates on your application(s), thus ensuring high availability and performance. Clusters are also extremely useful to isolate your production environment from your staging environment.
In short, through the use of clusters, Kubernetes provides you with a resilient, flexible and powerful infrastructure, fit for production environment needs and requirements. And with the help of Qovery, setting up and maintaining your Kubernetes clusters has never been easier.
How do I set up a cluster?
For step-by-step guidelines on how to set up a cluster on your cloud provider account using the Qovery Console, see Creating a Cluster.
What are the different instance types available when creating a cluster?
The range of instance types available at cluster creation depends on your cloud provider:
- AWS offers over 400 instance types. You can view their details on the official AWS website, as well as their pricing.
- DigitalOcean offers 5 different plans according to the instance types (aka “droplets”) you need. You can view details and pricing on the official DigitalOcean website.
- Scaleway also offers a wide range of instance types, whose details and pricing you can view on the official Scaleway website.
How does Qovery handle cluster updates and upgrades?
As far as cluster updates and upgrades to a newer version of Kubernetes are concerned, our Qovery engineering team handles everything in due time, so you don’t even need to think about it!
Managing your Clusters with Qovery
From the Qovery Console, you can manage the settings of the clusters you want to run on your infrastructure. The clusters are then created (or updated) by the cloud provider that hosts them.
Creating a Cluster
Qovery allows you to create:
- (AWS users only) K3s (AWS EC2) single node clusters. For information on how to install a K3s cluster, see Creating a K3s Cluster (Single Node Cluster).
- EKS (Kubernetes Managed) multiple node clusters. For information on how to install an EKS cluster, see Creating an EKS Cluster (Multiple Node Cluster)
If you need help to pick your cluster type, see What is a cluster?.
Creating a K3s Cluster (Single Node Cluster)
To create a K3s cluster (only available to AWS users):
Open your Qovery Console.
On the top right hand-side of the screen, click the cogwheel icon to access your Organization settings:
Click
Add Cluster
:In the
Create Cluster
window:Enter cluster name
: enter the name of your choice for your cluster.Cloud provider
: select your cloud provider.Region
: select the geographical area in which you want your cluster to be hosted.Credentials
: select the select the credentials generated on your cloud provider account.
To confirm, click
Next
.In the
Set Resources
window:Kubernetes
: selectBETA - EC2 K3S (single instance only - dev purpose)
.Instance type
: select the type of worker node you want to deploy to your cluster:
(Optional)
Instance type selection helper
: click this toggle if you need help to pick the best instance type for your needs. This allows you to input the desired CPU and/or RAM per worker node on your cluster, and theInstance type
field value is updated accordingly.Node disk size (GB)
: enter the disk capacity you want to allocate to your worker node (meaning how much data, in gigabytes, you want your worker node to be able to hold).
To confirm, click
Next
.In the
Set SSH Key
window:Enter your SSH key and click
Create
.In the
Ready to install your cluster
window, check that the services needed to install your cluster are correct, and clickInstall
:A pop-up window opens to confirm that your cluster is installing.
Your cluster is now displayed in your organization settings, featuring the
Installing...
status (orange status). Once your cluster is properly installed, its status turns to green.
Creating an EKS Cluster (Multiple Node Cluster)
To create an EKS (Kubernetes Managed) cluster:
Open your Qovery Console.
On the top right hand-side of the screen, click the cogwheel icon to access your Organization settings:
Click
Add Cluster
:In the
Create Cluster
window:Enter cluster name
: enter the name of your choice for your cluster.Cloud provider
: select your cloud provider.Region
: select the geographical area in which you want your cluster to be hosted.Credentials
: select the select the credentials generated on your cloud provider account.
To confirm, click
Next
.In the
Set Resources
window:Kubernetes
: selectEKS (Multiple node cluster
.Instance type
: select the type of worker nodes you want to deploy to your cluster:
(Optional)
Instance type selection helper
: click this toggle if you need help to pick the best instance type for your needs. This allows you to input the desired CPU and/or RAM per worker node on your cluster, and theInstance type
field value is updated accordingly.Node disk size (GB)
: enter the disk capacity you want to allocate to your worker nodes (meaning how much data, in gigabytes, you want your worker nodes to be able to hold).
Node
: on the scale, you can define the range of worker nodes you want to deploy to your cluster.
To confirm, click
Next
.(Optional) In the
Features
window, select the features you want to enable on your cluster and clickCreate
:In the
Ready to install your cluster
window, check that the services needed to install your cluster are correct, and clickInstall
:A pop-up window opens to confirm that your cluster is installing.
Your cluster is now displayed in your organization settings, featuring the
Installing...
status (orange status). Once your cluster is properly installed, its status turns to green.
Managing your Cluster Settings
To manage the settings of an existing cluster:
Open your Qovery Console.
On the top right hand-side of the screen, click the cogwheel icon to access your Organization settings:
In the
Organization settings
menu, clickClusters
:To view your cluster options, click
...
:In the dropdown menu, click
Settings
:The cluster settings window opens.
General Information
The General Information
tab allows you to define high-level information on your cluster:
Item | Description |
---|---|
Cluster Name | To enter or edit the name of your cluster. |
Description | To enter or edit the description of your cluster. |
Cloud Provider | (View-only, defined at cluster creation) To check which cloud provider your cluster is hosted by. |
Region | (View-only, defined at cluster creation) To check which geographical location your cluster is hosted in. |
Credentials
To allow Qovery to quickly deploy your applications, you need to install it on your cloud provider account. To do so:
- as an AWS user, see Connect your AWS account.
- as a Digital Ocean (DO) user, see Connect your Digital Ocean account.
- as a Scaleway user, see Connect your Scaleway account.
You then need to finalize the connection between Qovery and your cloud provider account from the Qovery Console. To do so:
In your cluster settings, access the
Credentials
tab and clickEdit
:The
Edit Credentials
window opens:In the
Name
field, enter a name for your credentials.In the two dedicated fields, enter the credentials you created on your cloud provider account:
Account Provider Field Labels AWS Access Key
andSecret Access Key
DigitalOcean Spaces Access Key
andSpaces Secret Key
Scaleway Scaleway Access Key
andScaleway Project ID
Click
Save
.Qovery is now connected to your cloud provider account.
Resources
Qovery allows you to define the resources you want to allocate to your cluster. To do so:
In your cluster settings, access the
Resources
tab:In the
Instance type
dropdown menu, select the type of worker node(s) you want to deploy to your cluster:(Optional) Click the
Instance type selection helper
toggle if you need help to pick the best instance type for your needs. This allows you to input the desired CPU and/or RAM per worker node on your cluster, and theInstance type
field value is updated accordingly:(AWS users only) In the
Node disk size (GB)
field, enter the disk capacity you want to allocate to your worker node(s) (meaning how much data, in gigabytes, you want each worker node to be able to hold).(EKS users only) On the
Node
scale, define the range of worker nodes you want to deploy to your cluster.Click
Save
.
Features
The Features
tab in your cluster settings allows you to check if the Static IP and Custom VPC subnet features are enabled on your cluster.
Static IP
By default, when your cluster is created, its worker nodes are allocated public IP addresses, which are used for external communication. For improved security and control, the Static IP feature allows you to ensure that outbound traffic from your cluster uses specific IP addresses.
Custom VPC Subnet
Virtual Private Cloud (VPC) peering allows you to set up a connection between your Qovery VPC and another VPC on your AWS account. This way, you can access resources stored on your AWS VPC directly from your Qovery applications.
A VPC can only be used if it has at least one range of IP addresses called a subnet. When you create a cluster, Qovery automatically picks a default subnet for it. However, to perform VPC peering, you may want to define which specific VPC subnet you want to use, so that you can avoid any conflicting settings. To do so, you can enable the Custom VPC Subnet feature on your cluster. For more information on how to set up VPC peering, see our dedicated tutorial.
Network
The Network
tab in your cluster settings allows you to update your Qovery VPC route table so that you can perform VPC peering. For step-by-step guidelines on how to set up VPC peering, see our dedicated tutorial.
Performing Actions on your Clusters
Qovery allows you to update, stop, restart or delete your clusters at organization level.
Action | Description |
---|---|
Updating a cluster | To redeploy your cluster after a change has been made to it. |
Stopping a cluster | To temporarily stop your cluster. Some services you have subscribed to via your cloud provider may still be active and incur costs when your cluster is stopped. For more information, see Stopping a cluster. |
Restarting a cluster | To restart your cluster after it has been temporarily stopped. |
Deleting a cluster | To delete your cluster. This is final and needs to be done properly to ensure all the services deployed by Qovery on your cloud provider's account are disabled, with no leftover cloud-related costs. For more information, see Deleting a cluster. |
To access these actions:
Open your Qovery Console.
On the top right hand-side of the screen, click the cogwheel icon to access your Organization settings:
In the
Organization settings
menu, clickClusters
:To view your cluster options, click
...
:A dropdown menu unfolds, featuring all the actions available on your cluster:
Updating a Cluster
To update a cluster so that it is redeployed with all the changes made to it:
Access your cluster options.
In the dropdown menu, click
Update
:A confirmation pop-up window opens.
In the dedicated field, enter the name of your cluster:
Click
Update
.Your cluster update is launched, and the status of your cluster turns to
Updating...
:Once the update is complete, the status dot next to your cluster turns to green:
Stopping a Cluster
Qovery allows you to temporarily stop your cluster instead of deleting it.
To temporarily stop a cluster:
Access your cluster options.
In the dropdown menu, click
Stop
:A confirmation pop-up window opens.
In the dedicated field, enter the name of your cluster:
Click
Stop
.Your cluster is being stopped, and its status turns to
Pausing...
:Once the stop is complete, the status dot next to your cluster turns to grey, and the status of your cluster turns to
Paused
:
Restarting a Cluster
To restart a cluster after it has been temporarily stopped:
Access your cluster options.
In the dropdown menu, click
Resume
:A confirmation pop-up window opens.
In the dedicated field, enter the name of your cluster:
Click
Update
.Your cluster is launched again, and the status of your cluster turns to
Updating...
:Once your cluster has restarted, the status dot next to your cluster turns to green:
Deleting a Cluster
To delete a cluster:
Access your cluster options.
In the dropdown menu, click
Remove Cluster
:A confirmation pop-up window opens.
In the dedicated field, enter the name of your cluster:
Click
Delete
.Your cluster is being deleted, and its status turns to
Deleting...
:Once the deletion is complete, the cluster is removed from your organization settings.
Cleaning up a Cluster from your AWS Account
To clean up a Qovery cluster from your cloud provider account:
Go to
AWS Console
>Services
>Management & Governance
>Resource Groups & Tag Editor
>Create Resource Group
:In the
Group type
area, selectTag based
.In the
Tags
field of theGrouping criteria
area, enterClusterId
and clickAdd
.Click
Preview Resources
.All your Qovery clusters are now displayed in the
Group resources
table, and you can delete them by hand.
Generating an SSH Key for your K3s Cluster
To allow Qovery or yourself to connect remotely to your K3s instance and manage it, you need to generate an SSH key and add it to your cluster settings. To do so:
On your computer, open a terminal.
Run
ssh-keygen -t
, followed by the key type and an optional comment.For example, you can enter
ssh-keygen -t rsa -b 2048 -C "<comment>"
.Press
Enter
.You should get an output similar to:
{Generating public/private ed25519 key pair.Enter file in which to save the key (/home/user/.ssh/id_ed25519):}Accept the suggested filename and directory, unless you want to save your SSH key in a specific directory where you store other keys.
Enter a passphrase:
{Enter passphrase (empty for no passphrase):Enter same passphrase again:}A confirmation is displayed, including information about where your files are stored.
You can add your SSH key at cluster creation (see Creating a Cluster), or later from your cluster settings.
To do so, on your Qovery Console, access your cluster options and click
Settings
:In the
Remote Access
tab, enter your SSH key and clickSave
:Your SSH key is now linked to your cluster.