Kubernetes Kapsule and Kosmos
Kubernetes is an open-source platform that enables developers to manage their containerized applications. Scaleway Kubernetes Kapsule and Kosmos are powerful tools to help you manage your containerized workloads and services.
They both provide a managed environment for creating, configuring, and running clusters of pre-configured machines.
The primary difference between Kapsule and Kosmos is that Kapsule clusters are composed solely of Scaleway Instances. In contrast, Kosmos is a managed multi-cloud Kubernetes Engine that allows you to connect Instances and virtual or dedicated servers from any cloud provider to a single managed Control-Plane.
Regardless of which option you choose, both Kapsule and Kosmos provide an easy-to-use interface for managing your Kubernetes clusters, with the Control-Plane hosted by Scaleway.
You can use the standardized Kubernetes tool
kubectl to run commands against your Kubernetes clusters and take full advantage of the features and capabilities of the orchestrator.
Currently, it is available in our Paris (France), Amsterdam (Netherlands) and Warsaw (Poland) Availability Zones and supports at least the latest version of the last 3 major Kubernetes releases.
In the context of Scaleway, a managed Kubernetes service refers to the Kapsule and Kosmos products, with Scaleway handling the management and maintenance of the Kubernetes control plane, along with all the crucial core components required for the proper operation of the Kubernetes cluster. For more information, refer to the managed Kubernetes service definition.
The price of the service will depend on the resources you allocate to your cluster, such as the number and type of nodes, the use of load balancers and persistent volumes. Nodes are billed at the same price as the underlying Compute Instances.
The Kubernetes control plane is provided without additional costs.
If you enable auto-scaling, you will be able to define a minimum and a maximum number of machines that are available for your pool.
If the workload of your infrastructure is low, only the minimum number of machines will be running. If the load grows, additional machines are started automatically up to the maximum number of machines in the pool, to handle the workload on your application. In case of a decreased load, these additional machines will be stopped automatically.
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 for more information.
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.
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.
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.
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.
Kapsule is a managed Kubernetes engine. By definition, the nodes of your clusters can be deleted, replaced, or restarted if the applications running on it require it or if a node suddenly stops responding. It means that Kubernetes clusters’ nodes are to be considered stateless. If you require a stateful application, you can use Persistent Volumes. The storageClass for Scaleway Block Storage volumes is set by default, so it does not need to be specified. For more information, refer to the Kubernetes Kapsule product documentation on GitHub.
To ensure sufficient space for storing default system files and configurations, we recommend a system volume disk capacity of at least 20 GB. While this amount is generally sufficient for small workloads, it is advisable to have a capacity of 100 GB to comfortably store images and system logs in many cases.
If you run out of space on your immutable system volume disk, you can create another pool and use the Advanced Options button to set your desired system volume type and size.
Depending on the type of node selected for your pool, one or two types of volume are available:
- Local storage: Your system is stored locally on the hypervisor of your node.
- Block storage: A remote storage option where your system is stored on a centralized and resilient cluster.
kapsule-agent is a software developed internally at Scaleway. It is used to assist in managing nodes lifecycles. Its primary function is to set up the network during the initial boot, and toggle the SSH server on or off based on a k8s label of each node.
By default, an SSH server is installed and configured on the nodes of your Kubernetes Kapsule cluster. To ensure the correct behavior of your cluster, it is not recommended to perform actions directly on the nodes. SSH access is provided for debugging only and all actions and configurations should be done using Kubernetes (from the Scaleway console,
kubectl command, or Scaleway Kapsule
To improve the security of your Kapsule cluster, you can disable this SSH server on your nodes by following the documentation on how to enable or disable SSH on Kubernetes Kapsule nodes.