This is a product many of you long awaited: the final version of Kubernetes Kapsule is now available. You can now take advantage of our managed and high availability control plane to create your container clusters. Kubernetes Kapsule is a free service, only the resources you allocate to your cluster are billed, without any extra cost!
As a reminder, Kubernetes Kapsule is a service that allows you to run containerized applications in a Kubernetes environment managed by Scaleway. If you are not familiar with Kubernetes yet, please take a look at our article: an Introduction to Kubernetes.
Little story of Kubernetes Kapsule
Kubernetes Kapsule's story goes back to the beginning of 2018 when a small team started to work on a Proof of Concept. In its early days, the Kubernetes Kapsule draft was obviously not yet redundant and the clusters had a single master that ran on a single instance. The bricks needed to run Kubernetes in a cloud ecosystem were also for the most part still missing or under development.
The team quickly evolved the Kubernetes Kapsule platform to bring redundancy to ensure better availability but also to bring the true value of a managed service in the cloud. The team then worked on the logical continuation of the project: the deployment of Control Planes in Kubernetes clusters. This evolution of design marks a key step in the development of the product.
As development progresses, Scaleway Elements products are intertwined with Kubernetes Kapsule in order to create a real ecosystem. The integration gradually includes Block Storage volumes and Load Balancers, which are now essential to Kubernetes Kapsule's smooth operation.
After this first phase of development, the “Public Beta” version of Kubernetes Kapsule starts in October 2019. We used Kubernetes Kapsule over our General Purpose Instances to offer you a range of powerful instances for production.
The product quickly adopts a wonderful community of testers and the feedback is numerous and very positive! A recurring feedback concerned the possibility of deploying nodes on development instances. So we took the time to listen to you and opened the use of the service on our development instances (available from the DEV1-M range at €0.02/hour) to make the use of Kubernetes Kapsule accessible to all.
In the same way, we have also implemented features that simplify your day-to-day management and bring tremendous value to your infrastructure:
- automatic scaling of your cluster (auto-scaling)
- Automatic regeneration of your nodes (self-healing)
These two combined features allow simplified management of your infrastructure and ensure your applications an optimal quality of service.
Resilient and integrated ecosystem design
Kubernetes Kapsule is a service that allows you to manage several types of resources. Let's comment by looking at the left part of the above diagram, the Control Plane.
As the name suggests, this is the control center of our cluster, which requires redundancy to ensure high availability of the service. The Control Plane includes Kubernetes Master components, Cloud Controller Manager, Auto-scaler and Container Storage Interface driver.
Then, for your cluster to work, the nodes must be deployed on instances (central part of the schema). Our Development Instances (from the DEV1-M range), General Purpose Instances and our GPU Instances (NVIDIA Tesla) are compatible with Kubernetes Kapsule to receive your nodes. Nodes that have the same configurations can be grouped into “pools”. When creating a node, the components essential for Kubernetes are installed (Kubelet, Core DNS, Kube Proxy, and CNI). As for the workflow of your application, you can configure it to fit your project.
Using Block Storage volumes allows data to persist in your cluster, so it is compatible with stateful applications.
With data persistence, nodes in your clusters can be deleted, replaced, or restarted if the applications that use them require it. However, it is not recommended to do persistence on Kubernetes nodes because they are considered stateless.
The Load Balancer makes it easy to redirect your traffic between your different nodes. Several Load Balancers references are available depending on the traffic to be distributed.
Finally, to deploy your images to your containers, you can use our Container Registry or the Container Registry of your choice.
Optimized integration to easily provision your clusters
To get started with Kubernetes Kapsule, simply go to the Scaleway console and fill in the requested fields:
First, fill in the name and description of your cluster. Then select the Kubernetes version.
Then choose the number of nodes and the default configuration for your pool. You can also choose the “autoscale the number of nodes” option for automatic scaling. In this case, the increase and decrease in the number of nodes in your pool is managed automatically and respects the minimum and maximum limits set for your pool. Depending on the evolution of your projects and your business, you can then freely create new pools or even delete the default ones.
Several advanced options are also available, such as the choice of the CNI driver (Container Network Interface), and the possibility of deploying an Ingress Controler at the creation of the cluster. Of course, you are also free to deploy your own Ingress Controller to optimize its configuration according to your needs.
The last field allows one-click deployment of the Kubernetes Dashboard. This dashboard allows you to manage your infrastructure with tailored and detailed views of your pools.
Finalize by clicking on “Create a cluster” to make it available in seconds!