Introduction

Background If you have been reading this blog you probably already know that my career has primarily been on the development side and I have never really done much operations. I have worked in organisations where development and operations were completely separate and also in organisations where devs ran and operated the applications they developed. However, since December 2021, I embarked on a new adventure, one that was going to change my life forever. ...

Architecture

Let’s take a high level view of a k8s cluster, I’m borrowing a beautiful image from the official docs below. k8s cluster architecture Overview Notice that there is a Control Plane which comprises of several components that interact with things outside it - several nodes! The nodes outside the *control plane also seem to to have things running on them. The control plane This terminology is probably familiar to those coming from networking. ...

What are Containers

Let us look at some terms that people commonly use when describing or talking about Kubernetes. Kubernetes is used to run containerised applications. But not just one container, it often runs a distributed system. Such a system which has a main control plane that runs and orchestrates several containers on Kubernetes becomes a kubernetes cluster. But before we go further, let me avoid having to type the full word Kubernetes every single time and stick to the abbreviation, k8s. ...

Nodes

Now that you know what the control plane and containers are, you must be wondering where they run on a k8s cluster. Your workload on K8s, runs on nodes. K8s places your containers into something called a pod and then that Pod runs on Nodes. Consider a node as a virtual or physical machine in your cluster, based on the type of cluster you manage. In a cluster, you generally have multiple nodes and each node may have 1 or more pods running on them. This is entirely up to the configuration of the containers. There may be cases where it is best for a couple of containers to run on the same pod, whereas in other circumstance, there maybe pods that must never run on the same node. We’ll look at the terminology of the configuration behind that later. ...

Objects and manifests - an introduction

What are k8s objects? Objects in k8s are entities that k8s uses to represent the state of your cluster. They are used to describe: what applications are running on which nodes in the cluster what resources are available to those applications what policies exist around the behaviour of those applications Like I mentioned in the description of the control loop in Controller Manager, these object specs determine the desired state. How do I work with them? In order to work with k8s objects, you need to use the k8s API. You do this using the kubectl CLI. If you wish to programmatically interact with the API, you could use one of the k8s client libraries. ...

The path to become an expert in k8s

This post is not really mine. I saved it here as a pointer to those who are reading this blog and want to take the next steps to get their hands dirty with k8s. I have a habit of bookmarking things that I find as useful pointers. So I thought why not use one of my bookmarks as pointers to those who come here. Info ...