Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(k8s): managed control plane overview #2076

Merged
merged 2 commits into from
Aug 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
meta:
title: Kubernetes control plane offers overview
description: This page provides information about the different control plane offers available for Scaleway Kubernetes Kapsule and Kosmos
content:
h1: Kubernetes control plane offers overview
paragraph: This page provides information about the different control plane offers available for Scaleway Kubernetes Kapsule and Kosmos
tags: kubernetes control plane control-plane offers dedicated mutualized
dates:
validation: 2023-08-31
posted: 2023-08-31
categories:
- kubernetes
---

On a managed Kubernetes service such as Kapsule or Kosmos, Scaleway is responsible for overseeing the Kubernetes control plane. The control plane comprises multiple components that play a crucial role in cluster management, application scheduling, and cluster state maintenance.

These components encompass the control plane's core elements, namely etcd, API server, scheduler, cloud controller, and controller manager.

Scaleway offers a range of Kubernetes control planes to cater to a wide range of use-cases and to provide you with a maximum of flexibility. Whether you are seeking a mutualized environment or a dedicated control plane, we provide a flexible offer to fit your infrastructure needs, which can be a differentiating advantage from other Kubernetes engine providers.

## Available control plane offers

| Control plane type /<br />Features | Mutualized<br />(free tier) | Dedicated 4 | Dedicated 8 | Dedicated 16 |
|--------------------|---------------------------|-------------------|-------------------|--------------------|
| Memory | up to 4GB<sup>1</sup> | 4GB RAM dedicated | 8GB RAM dedicated | 16GB RAM dedicated |
| Availability | 1 resilient replica | 2 replicas for HA | 2 replicas for HA | 2 replicas for HA |
| SLA | N/A | 99.5% uptime | 99.5% uptime | 99.5% uptime |
| Max cluster size | 150 nodes | 250 nodes | 500 nodes | 500 nodes |

<Message type="note">
* <sup>1</sup> Each mutualized control plane can use up to 4GB memory (RAM and swap).
* The resource quotas for each offer are subject to potential evolutions over time, and this table will be modified accordingly.
</Message>

## Dedicated control plane conditions

You have the option of choosing the most suitable control plane type for your workload when setting up a Kubernetes Kapsule or Kubernetes Kosmos cluster.

The cost of the control plane varies depending on whether it is a shared or dedicated environment, and by the specific dedicated resources that you choose. Although indicated that the control planes are billed on a monthly basis in the Scaleway console, the billing for each control plane option is actually calculated on an hourly basis. Scaleway chooses to display a monthly billing for simplicity purposes.

The control plane within the Kubernetes architecture goes beyond being just another component; it acts as the central command that orchestrates the cluster's activities. Comprising elements like the API server, etcd, scheduler, and controller manager, the control plane oversees critical operations including resource distribution, scheduling, health checks, and scaling. Making frequent modifications to the control plane can result in unintended repercussions, compatibility conflicts, and potential downtimes, directly impacting the overall dependability of the whole cluster. Therefore it is imperative to handle the control plane with the utmost care and prudence in order to sustain a smoothly operating Kubernetes cluster.

When selecting a dedicated environment, you are committing to this plan for a period of 30 calendar days. While the cluster is active, you retain the flexibility to shift their control plane among different types to better align with their workloads. However, certain conditions govern this migration process:

* Upgrading to a higher tier will reset the commitment period to 30 calendar days.
* Downgrading to a lower tier will not extend the commitment period.
* Downgrading a cluster type is not allowed during the commitment period.

Once a dedicated control plane is no longer under commitment, you can freely migrate to a lower tier using the Scaleway console or command-line interface (CLI).

<Message type="important">
Migrating to a lower tier will have some impact on key features. The allocated RAM resources will be reduced, the maximum number of nodes will be limited, and in the case of a mutualized control plane, the SLA (Service Level Agreement) will be revoked.
</Message>

If a dedicated cluster is deleted, the commitment is automatically canceled, and there will be no further billing for this dedicated service.

## Changing a control plane offer

During the lifecycle of a Kubernetes cluster, you have the flexibility to transition its control plane to a different type, whether it involves [scaling up or scaling down](/faq/kubernetes/#can-i-change-the-plan-of-my-cluster's-control-plane), in order to align with their specific workloads.

Refer to our dedicated documentation for more information regarding the [choice of control plane offers for clusters](/faq/kubernetes/#can-i-choose-the-type-of-control-plane-for-my-cluster), as well as instructions on how to manage a control plane through the [console](/containers/kubernetes/how-to/edit-cluster/) or [API](https://www.scaleway.com/en/developers/api/kubernetes/).
30 changes: 27 additions & 3 deletions faq/kubernetes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,33 @@ If the workload of your infrastructure is low, only the minimum number of machin

## Can I change the type of my cluster after creation (Kapsule to Kosmos, shared to dedicated, etc.)?

The `SetClusterType` API call allows you to upgrade your cluster's control plane from shared to dedicated plans (currently available with 8 GB and 16 GB control planes). However, keep in mind that certain conversions are not possible.
For example, moving your workloads from Kapsule to Kosmos or from Kosmos to Kapsule, or downgrading from a dedicated control plane to a shared plan, is not possible. You will need to create a new cluster.
Refer to the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/#path-clusters-change-the-cluster-type) for more information.
The `SetClusterType` API call allows you to edit your cluster's control plane from shared to dedicated offers and inversely. Keep in mind however, that certain conversions are not possible.
For example, moving your workloads from Kapsule to Kosmos or from Kosmos to Kapsule, is not possible. You will need to create a new cluster. Refer to the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/#path-clusters-change-the-cluster-type) for more information.


## Can I choose the type of control plane for my cluster?

Scaleway provides a range of mutualized or dedicated Kubernetes control planes for your cluster. During the creation of a Kubernetes Kapsule or Kubernetes Kosmos cluster, you can select the type of control plane that best fits the needs of your workload.
The pricing for the control plane depends on whether you choose a mutualized or dedicated environment, and further varies based on the specific dedicated resources you select. All dedicated control plane environments come with hourly billing and with a minimum commitment period of 30 calendar days.

## Can I change the offer of my cluster's control plane?

control plane migration is tied to some conditions:
You can change the type of your cluster's control plane during its lifetime to a larger or smaller one to suit its workloads. However, keep in mind that control plane migration is tied to some conditions:

* Dedicated control plane environments come with a commitment to keep the environment for at least 30 calendar days
* Upgrading to any higher tier restarts the 30 days of commitment
* Downgrading a cluster's control plane is not possible during an active commitment period
* No commitment extensions are applied for downgrades after the commitment period. Once the commitment period is completed, migrating to a lower tier is possible from the console.
<Message type="important">
Migrating to a lower tier impacts several key features: the RAM resources allocated to your control plane are reduced, the maximum number of nodes is throttled, and in the case of a mutualized control plane, the SLA is revoked.
</Message>

## Why do I have to keep my dedicated control plane for at least 30 calendar days?

The control plane in Kubernetes serves as the central command hub that coordinates various activities within the cluster. It includes vital components like the API server, etcd, scheduler, and controller manager, responsible for essential tasks such as resource allocation, scheduling, health monitoring, and scalability. Frequent modification of the control plane configuration can lead to unintended consequences, compatibility issues, and potential service disruptions, adversely affecting the overall reliability of the cluster.

By opting for a dedicated environment, you commit to maintaining the dedicated control plane for a minimum period of 30 consecutive days to ensure stability and reliability of your cluster.

## How can I have data persistence on my cluster?

Expand Down
4 changes: 4 additions & 0 deletions menu/navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -1395,6 +1395,10 @@
"label": "Kubernetes Cheatsheet",
"slug": "kubernetes-cheatsheet"
},
{
"label": "Kubernetes control plane offers overview",
"slug": "kubernetes-control-plane-offers"
},
{
"label": "Managed Kubernetes service definition",
"slug": "managed-kubernetes-service-definition"
Expand Down
Loading