1. Xelon Docs
  2. Kubernetes Service

Kubernetes 101

We explain basic concepts of Kubernetes, and how you can leverage its functionality within the Xelon HQ platform.

What is Kubernetes (k8s)?

Kubernetes (k8s) is an open-source platform made to automate scaling, deployment, and management of microservices and containerized applications. A central concept of k8s – pod – is a set of Linux containers with shared network and storage.

Network k8s plugins allow you to support internal and external load balancers, while storage classes automate data persistence. All clusters and pods are orchestrated by kubectl and Kubelet technologies.

That's how Xelon HQ allows you to reduce application deployment time from days to minutes without the infrastructure maintenance burden.

Need more flexibility?

You can integrate our drivers into your existing Kubernetes instance in a few simple steps.

Kubernetes 101

Modern apps rely on environments with the supporting structure like OS, engines and web servers.

Container.png

To avoid lots of apps operating in the same (but not one-size-fits-all) environment, you can put them in a container.

Containers provide an isolated environment for an app to be running. Yet, these containers should be managed, connected to other services, networks, file systems, schedules, and so on.

Here comes the Kubernetes (k8s) – a platform that runs and orchestrates hundreds and thousands of containers. Within the k8s, containers are placed into a pod – the smallest runnable unit of work you can create and manage. Kubernetes connects your pod to the network and the rest of the Kubernetes environment.

Pod.png

Pods can contain multiple containers, but they usually contain one.

There is a simple logic within the K8s to be scalable up and down – pods can be easily replicated through Replication Controller (called ReplicaSet).

Replica Set.png

It contains a template of your pod, which can be replicated multiple times: for scaling up and down, rolling deployments, and monitoring. Entire pod's lifecycle is being covered!

These sets of pods are united into Services, which tell the rest of k8s environment what kind of service your code provides. Service has a static IP and ports, while pods are dynamic – they come and go whenever you wish.

Service.png

Containers store and access data through Volumes – the part of the file system backed by local storage or any other storage backends.

Last but not least, Kubernetes has a very flexible grouping mechanism for Services, pods, replication controllers, and volumes called Namespaces. Namespaces allow you to separate and isolate one part of a cluster from another.

Cluster's servers can have various configurations to serve as load balancers, GPU machines, and many other purposes.

Other K8s guides

Beyond the renowned Kubernetes docscourses, and contacting our support, we've prepared an article that highlights the way to create and manage clusters through UI or CLI.