Kubernetes for Software Developers — Chapter 1

Ahmed Nafies
4 min readApr 24, 2023

Explaining Kubernetes

Photo by Growtika on Unsplash

Introduction

As a software developer, you may have heard of Kubernetes, but what exactly is it and how can it help you in your development work? In this blog post, we’ll explore the basics of Kubernetes and how it can be used to manage and orchestrate containers in a distributed environment.

What is Kubernetes?

Kubernetes, also known as K8s, is an open-source container orchestration platform that was originally developed by Google. It provides a way to automate the deployment, scaling, and management of containerised applications. Kubernetes is designed to work with different container runtimes such as Docker, containerd, and CRI-O, and it can be run on various cloud platforms and on-premises infrastructure.

What is a container?

A container is a lightweight, standalone, executable package of software that includes everything needed to run an application, such as code, libraries, runtime, system tools, and settings. Containers provide a way to package and deploy applications in a consistent and reproducible way, regardless of the environment they are run in. Containers are isolated from the underlying system and from other containers running on the same system, which makes them more secure and reliable. They are typically used to deploy microservices-based applications, which are composed of many small, independent components that communicate with each other through APIs. The most popular container runtime is Docker, but there are other container runtimes such as containerd and CRI-O that are compatible with Kubernetes.

How Does Kubernetes Work?

Kubernetes works by defining and managing a set of resources that represent your application and its environment. These resources include:

  • Pods: the smallest unit of deployment in Kubernetes. A Pod may contain on or more containers.

This is an example of a pod that have 3 containers, app, migrations and script. We can have these containers running at the same time.

--

--