Kubernetes Cluster: High Performance Container Orchestration with E4’s Kaptain
In this article we will get to the heart of Kubernetes (yes, it is written like this … Kubernetes, or at most, K8s or Kube, and NOT, as many do Kubernates, cubernetes, kubernetis or kubernets … :)).
We will explain what this tool is, how it works and when and how to use it; finally, we will tell you about our KAPTAIN solution and how we implemented it at one of our customers, solving many problems!
• What is Kubernetes?
• What does Container Orchestration mean?
• How does Container Orchestration work?
• High performance Kubernetes cluster: Kaptain.
• Case study: Kaptain implemented at one of our customers.
WHAT IS KUBERNETES?
Kubernetes is an open source platform that automates all the operations running on containers. Through automation, many of the manual processes involved in deployment are then made automatic, thus relieving the workload of IT departments, which can devote themselves to more complex operations, such as infrastructure optimization.
Kubernetes, designed and developed in Google’s labs over 15 years ago and made open source in 2014, is organized in clusters – a set of nodes running containerized applications. This project has generated a very large community of developers, who continuously work on the release of updates and improvements for this platform.
WHEN AND HOW TO USE KUBERNETES?
The complexity of the deployment, planning and load balancing of an infrastructure grows exponentially year on year. This phenomenon has led companies to find ways to organize infrastructure, development teams and processes, so that they are fast and effective.
It is in this context that containers are born, and also Kubernetes, the ideal platform for their management.
WHAT DOES CONTAINER ORCHESTRATION MEAN?
For some time, the deployment of an application in production remained a complex and onerous practice to complete – even for the most experienced system administrators.
In a development environment, applications are usually made up of hundreds of separately containerized components (microservices) which must however work together to ensure that the application can run correctly. The process of organizing different containers is known as container orchestration.
HOW DOES CONTAINER ORCHESTRATION WORK?
Unlike what happens in traditional virtual machines, where the entire infrastructure is virtualized, thanks to containers it is possible to isolate individual applications, grouping all the libraries, dependencies and files necessary for their execution. In this way, each developer can work and move applications between the various environments, from production, to development, to testing without security problems, keeping all the application’s features intact and working with maximum flexibility.
Containers are light and flexible and allow the creation of new application architectures. With this new approach, the different services that make up an application are grouped into separate containers which are then distributed across a cluster of physical or virtual machines. This has led to the need for container orchestration, which is to have a tool, such as Kubernetes, that automates the deployment, management, scaling, networking and availability of container-based applications.
Kubernetes therefore allows users to control the startup and stopping of containers, group them into clusters and coordinate all the processes that make up an application. This allows users to drive container deployment and automate updates, health monitoring and failover procedures.
HIGH PERFORMANCE KUBERNETES CLUSTER: KAPTAIN
KAPTAIN is the Kubernetes-based cluster designed by E4’s HPC experts. It is a high-performance and ready-to-use platform, suitable for hosting the most demanding workloads in terms of processing and storage resources.
KAPTAIN is a “turnkey” solution, designed to ensure ease of use and high performance: its initial configuration integrates, for example, a distributed block storage service for container data persistency and a powerful web interface that, between the other things, gives access to an articulated catalog of open-source applications,
Furthermore, it can host large-scale data analysis platforms such as Apache Spark, KubeFlow, Dask and Ray, thus giving the possibility to have a powerful and complete system for Cloud Native Data Science.
What are KAPTAIN’s main features?
• IT IS A HIGH PERFORMANCE PLATFORM: Includes components typical of HPC infrastructures (all-flash disks, GPU and RDMA network), to run the most data-intensive workloads.
• IT IS EQUIPPED WITH A SIMPLE AND POWERFUL UI: The distribution of the Rancher server allows for powerful and easy-to-use user interfaces.
• HAS A PRECONFIGURED NATIVE CLOUD STORAGE: It is possible to use both an external storage resource (NFS, Gluster, Ceph ..), and a distributed block storage solution, for the implementation, in self-provisioning, of persistent volumes to be “matched ” to containerized workloads.
How is KAPTAIN structured?
A Kubernetes cluster is a set of servers configured to run containerized applications and services; the core of the architecture is the so-called ControlPlane (the set of API Server, Controller Manager, Scheduler and Etcd services) which is responsible for the management and orchestration of the containers and provides the interface (API) to the outside of the cluster. The simplest configuration of a Kubernetes infrastructure is made by a Master Node, which houses the ControlPlane, and a set of Worker Nodes, dedicated to the execution of containerized user workloads. The infrastructure servers can be interconnected both through an Internal Network, dedicated to communication between the ControlPlane and the Worker Nodes, and through an External Network, dedicated to accessing applications and services running on the Worker Nodes.
KAPTAIN AT ITS UMBRIA ACADEMY
E4 implemented the KAPTAIN solution at ITS Umbria Academy.
ITS Umbria is an Academy in Applied Sciences and Technologies. With a view to the growth and development of its teaching laboratory, ITS Umbria needed to implement a high-performance “turnkey” infrastructure that could host large-scale data analysis platforms.
Kaptain was perfect to meet this need, as it was designed to host the most expensive workloads and therefore suitable for hosting platforms and frameworks for Big Data analysis, thanks to the integration of high-end servers and a high-performance network. based on Mellanox Ethernet RDMA 25+ Gigabit / s technology, used for the communication between containers and for accessing storage resources.
To know more about ITS Umbria Case History click here