What is Kubernetes?

We take a look at the open source platform powering containerisation at scale

Kubernetes (pronounced 'koober-neties'), is an open source platform used for managing Linux-based containerised workloads and services. First developed by Google, it was split off as an open source project in 2014.

Before trying to get to grips with what kubernetes is, it's first important to understand the concept of containerisation. Although on the surface, containterisation sounds like a pretty simple concept (running apps and services in isolated environments) it's a lot more complicated beneath the surface.

Containerisation

With containerisation, all of the elements that create an application, including runtimes, libraries, config files and binaries, are combined together in one place - a container. Because all dependencies are all in one place, the container can be picked up and moved from place-to-place, without anything being impacted. For example, it can be moved from a cloud to an on-premise environment and vice versa, without the running of them being affected.

These containers can link together to create an entire back-end experience, even if they're not in the same place. That's because they can communicate between each other across environments to create a complete application, without having to employ a single virtualised environment or operating system.

Advertisement - Article continues below

This new method of software deployment has proved popular, but also increasingly complex, particularly when businesses seek to deploy containers across a host of machines, either virtual or physical. There can be a great deal of manual processing and continuous management involved with multiple container deployments.

Advertisement
Advertisement - Article continues below

This isn't such a problem when operating at a basic level but, as development scales, multiple containerised applications may be required to work together to power services. In that instance, the number of containers may grow exponentially, eventually becoming unmanageable.

Enter Kubernetes

Kubernetes seeks to eliminate this. Originally developed by a team at Google, a company that today has everything running in containers, Kubernetes acts as an orchestration tool, giving users an overview of their container deployments. This makes it far easier to operate generally as well as making it possible to have hybrid, public and private cloud containers running simultaneously.

Related Resource

Application modernisation field guide

It’s time to modernise your application portfolio

Download now

Kubernetes has a bunch of tools that make all of this possible, including the option to sort containers into groups, or 'pods', which then makes it easier to serve the applications with the necessary infrastructure, such as storage and networking capabilities. It handles a lot of the optimisation work so that businesses can focus on what they want their services to achieve, rather than the worry about whether apps are talking to each other.

Advertisement - Article continues below

It's also able to optimise your hardware to ensure the correct amount of resources are being applied to each application, and add or remove resources depending on whether you want to scale up or down. Automated health checks also mean that errors can be corrected without human intervention, and it also has provisions to roll out updates to containers without downtime.

Perhaps the most important thing is that Kubernetes is not tied to a specific environment it can operate regardless of where your containers are, whether that's in a public cloud, private, a virtualised system, or even a single laptop, and even combine all of these together.

Who owns Kubernetes?

Google would eventually donate the Kubernetes platform to the Cloud Native Computing Foundation in 2015, releasing it into the open source community to be used freely by anyone.

Advertisement
Advertisement - Article continues below

Although it primarily works with Docker, a program that builds containers, Kubernetes will work with any platform that conforms to the Open Container Initiative (OCI) standards that define container formats. (Note: Docker has some higher-level orchestration tools that essentially perform the same functions as Kubernetes).

Advertisement - Article continues below

As Kubernetes is an open-source technology, there's no single service available with dedicated support. The technology has essentially been adapted by various vendors into their own flavours, whether that's Google, Amazon Web Services or Red Hat, and choosing one will depend on the services you currently use, or want as part of a contract.

Other providers include Docker, Canonical, CoreOS, Mirantis, and Rancher Labs.

The Kubernetes language

In order to fully understand Kubernetes, you need to learn the vernacular that comes with it.

Each deployment follows the same basic hierarchy: Cluster > Master > Nodes > Pods

'Cluster'

Let's start at the top. Kubernetes is deployed in a 'cluster' this is a collective term referring to both the group of machines that are running the platform and the containers that are managed by them.

'Nodes'

Within each cluster there are multiple 'nodes' these are the normally the machines that the containers are running on, whether that's virtualised or physical, and multiple containers may be hosted on a single node (with each container hosting an application).

Related Resource

Application modernisation field guide

It’s time to modernise your application portfolio

Download now

'Master'

Advertisement - Article continues below

Each 'cluster' must always have a 'master', which acts like a management window from which admins can interact with the cluster. This includes scheduling and deploying new containers within the nodes.

'Pods'

Nodes are responsible for creating 'pods' the term given to an instance of an application that's running within the cluster, usually involving multiple containers. This means that users are able to visualise all the individual containers supporting an application as a single entity.

Pods can be best thought of as the basic building block within Kubernetes, and are created based on the needs of the user.

Demand for Kubernetes skills

As containerisation has become the norm for app deployment, demand has naturally increased for those skilled in Kubernetes. 

According to recent research by IT Jobs Watch, demand has surged by a staggering 752% over the past two years, making it one of the top 250 most sought-after roles in the industry.

Featured Resources

Top 5 challenges of migrating applications to the cloud

Explore how VMware Cloud on AWS helps to address common cloud migration challenges

Download now

3 reasons why now is the time to rethink your network

Changing requirements call for new solutions

Download now

All-flash buyer’s guide

Tips for evaluating Solid-State Arrays

Download now

Enabling enterprise machine and deep learning with intelligent storage

The power of AI can only be realised through efficient and performant delivery of data

Download now
Advertisement
Advertisement

Most Popular

Visit/security/privacy/355155/zoom-kills-facebook-integration-after-data-transfer-backlash
privacy

Zoom kills Facebook integration after data transfer backlash

30 Mar 2020
Visit/security/data-breaches/355173/marriott-hit-by-data-breach-exposing-personal-data-of-52-million
data breaches

Marriott data breach exposes personal data of 5.2 million guests

31 Mar 2020
Visit/security/cyber-crime/355171/fbi-warns-of-zoom-bombing-hackers-amidst-coronavirus-usage-spike
cyber crime

FBI warns of ‘Zoom-bombing’ hackers amid coronavirus usage spike

31 Mar 2020
Visit/data-insights/data-management/355170/oracle-cloud-courses-are-free-during-coronavirus-lockdown
data management

Oracle cloud courses are free during coronavirus lockdown

31 Mar 2020