Due to Covid-19 Virtual Training has become the New Normal for many companies – Find out more

Ask Nigel: What is a Kubernetes cluster

In my recent live-lab mini-series with Linode, I got the following question from Sindile Bidla that we didn’t have time to answer on the live-stream. So let’s answer it now…

Question 

When you refer to a cluster, is it a single compute resource or a bunch of compute resources taken as a single unit?

Quick answer

A Kubernetes (K8s) cluster is one or more Linux/Windows machines that are pooled together for high availability, scheduling, and other reasons.

More Kubernetes cluster detail

K8s clusters are made up of masters and nodes. Masters host the control plane (API server, cluster store, scheduler, watch loops…) and nodes are where user applications run.

Most of the time, each master and node is a VM or physical server in your on-prem data centre or in your cloud.

The following diagram shows a K8s cluster with 3 masters and 3 nodes. Each master and node is running on its own server and they’re spread across three failure domains.

Masters have to be Linux, but nodes can be a mix of Linux and Windows — Windows apps run on Windows nodes, Linux apps run on Linux nodes.

DIY Kubernetes vs Hosted Kubernetes

DIY Kubernetes cluster is one that you build and manage yourself — you’re responsible for building and managing the masters and nodes, including H/A, performance and upgrades.

hosted K8s cluster is one where your cloud provider builds and manages the masters. You get an API endpoint and you never have to think about the masters (the cloud platform takes care of them). 

Nodeless Kubernetes

Some hosted Kubernetes services also offer nodeless Kubernetes. This is where user workloads run on the cloud’s container-as-a-service backend and there is no concept of individual nodes. In this scenario, the cloud hides the masters and nodes from you — you focus on apps while the cloud provider handles all infrastructure components.

Single-node Kubernetes clusters

Some development environments, such as Docker Desktop, run all Kubernetes master and node services on a single VM. These are not production-grade, but are examples of Kubernetes running on a single VM.

Opinion

Hosted Kubernetes is very popular, and nodeless Kubernetes is becoming a thing. These models are great if you’ve no interest in running and hosting your own Kubernetes infrastructure (masters and nodes). However, these models outsource responsibility for your Kubernetes infrastructure to your cloud provider.

I hope this was useful. Feel free to connect with me on Twitter and LinkedIn, and check out my books and video courses.

Share this post

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact / Hire Nigel

Send a message if you have any questions. We will reply as soon as possible. 

Nigel's tech books

Want to learn, understand and apply Kubernetes or Docker in your day to day work. 

Contact
Subscribe

Get Nigel’s weekly K8s and Cloud-native tech update direct to your inbox. Tips, news, advice, announcements, videos and more.

© 2021 Nigel Poulton – All rights reserved

Search

Looking for something specific?

Try the search facility.