Kubernetes by IKOULA
Kubernetes: the dedicated solution for container management
What is Kubernetes?
Kubernetes, commonly known as "k8s", is designed to automate the deployment, management and execution, as well as the coordination of applications running in containers deployed on a set of (physical or virtual) machines throughout their entire lifecycle.. This project, released in 2015, was initially developed internally by Google and then offered to the Cloud Native Computing Foundation (C.N.C.F.)
How Kubernetes works
Kubernetes is an innovative tool which embodies its own concepts and ideas.
- The control plan: Sometimes called "Master", this is a machine (or several machines, if you want to deploy it with high availability) in charge of running the master application (providing the A.P.I.) as well as the internal containers responsible for controlling and storing the configuration of the Kubernetes infrastructure.
- The data plan: Sometimes called the "Worker" or "Nodes": this is the machine (or all the machines) that hosts the containers (called "Pods" in Kubernetes jargon) and is steered by the control plan via an application called "Kubelet".
- The pods: In the Kubernetes context, Pods are sets of identical containers that may be distributed over several nodes. Through this replication, the system ensures optimal redundancy and load distribution.
- The services: This is an element that defines which Pods should work together and which access policies should be put in place for the provision of a service.
- The controller: This is an internal component which manages the deployment, creation or destruction of the Pods managed according to established rules (scalability or version up/down for example).
- The scheduler: This component is responsible for load balancing, in other words for the equitable distribution of the Pods over the different available Nodes.
Kubernetes: What are the advantages?
As mentioned previously, containerisation allows users to focus on the operation of the application, without having to worry about the operating system or infrastructure management.
However, some applications need to be distributed across several containers and, although they offer advantages, these deployments require considerable work to implement.
This is where Kubernetes comes in and simplifies usage: you simply indicate the composition of a multi-container application and the tool will take care of deployment, monitoring and provide you with numerous mechanisms which facilitate updates and modifications.
The final positive aspect of Kubernetes is its versatility: it can be installed in multiple environments such as a Cloud instance or a physical server or provided by a supplier in an integrated way.
Kubernetes by IKOULA: freedom and control
Why choose IKOULA?
Choosing to deploy Kubernetes at IKOULA offers several advantages:
- True freedom of deployment: As a continuation of the open and open source approach of our public cloud solution CLOUD IKOULA ONE, we offer users complete flexibility in their Kubernetes infrastructure.
There is no reason why they should have to deploy all their resources solely with us.
Several scenarios are possible. They can choose to host their "Nodes" and master entirely with us, or to host their "Nodes" with other hosts, while installing their master with us, and vice versa.
- Software version control: While most hosting providers unilaterally decide on automatic updates, users can manage versioning and updates themselves with IKOULA.
- Implementing a dedicated Control Plan: Once the containerised or shared infrastructures are implemented, here users have their own control plan (deployed in a dedicated instance) to manage everything via the Kubernetes API or a "kubectl" type client.
- Support for physical servers: Because we know that some workloads benefit greatly from a physical environment, our Kubernetes offer allows the addition of "Nodes" deployed on physical servers (at IKOULA or another hosting provider).
Here again, you are in control: with supply of a preconfigured K8s Node server, automatic installation and configuration via a script or manual installation of the kubelet on an existing system.
- A Kubernetes laboratory to test the tool before launching it: Solutions such as « Minikube » (https://kubernetes.io/docs/tutorials/hello-minikube/) or « K3S » (https://k3s.io/) allow users to familiarise themselves with the Kubernetes environment, by working on a cluster on a single node. This is pre-installed among the One-Click applications created by IKOULA
- Clear and simplified invoicing: For the Kubernetes « Master » (or « Control Plan ») operating on the basis of a Medium VM, and the Kubernetes "Worker" (or "Data Plan") on the basis of a Small VM at least, invoicing is carried out according to the rates corresponding to the nature of the resources and their usage time.
How do I install Kubernetes in one click?
Because the installation of VMs supporting Kubernetes, its Control Plan and/or Workers can sometimes be complicated, we have pre-installed these applications and made them deployable in one click.