Devops
Difficulty: Advanced
2 min read

Kubernetes: Installing and Deploying Clusters

A complete guide to installing Kubernetes with kubeadm, deploying containerized applications and administering your clusters in production.

Back to tutorials
About Kubernetes
Kubernetes (K8s) is an open source container orchestration platform developed by Google. It automates the deployment, scaling and management of containerized applications across clusters of machines. This tutorial guides you from installation to production.

Prerequisites

  • Machines: A minimum of 2 servers (1 control plane + 1 worker) with 2 CPUs and 2 GB of RAM each
  • Operating system: Ubuntu 22.04 LTS or Debian 12 (recommended)
  • Network: Full network connectivity between all machines in the cluster
  • Container runtime: containerd or Docker Engine installed on each node
  • Privileges: Root or sudo access on all machines
  • Open ports: 6443 (API), 2379-2380 (etcd), 10250-10252 (kubelet/scheduler/controller)

Kubernetes Architecture

Understanding the architecture of Kubernetes is essential before starting the installation. A K8s cluster consists of two types of nodes.

Control Plane (Master node)

  • kube-apiserver: The entry point for all REST requests. It is the central component that exposes the Kubernetes API.
  • etcd: A distributed key-value database that stores the complete state of the cluster (configurations, secrets, pod state).
  • kube-scheduler: Assigns pods to nodes based on available resources, constraints and affinities.
  • kube-controller-manager: Runs the control loops that monitor the state of the cluster and make the necessary corrections.

Worker Nodes

  • kubelet: The agent that runs on each worker node and ensures that the containers defined in the pods are running.
  • kube-proxy: Manages the network rules on each node to route traffic to the correct pods.
  • Container Runtime: The container execution engine (containerd, CRI-O).
Good to know
In production, it is recommended to have at least 3 control plane nodes for the high availability of etcd and the API server.

Premium Content

This advanced tutorial is reserved for premium members.

9,90€ / month
  • All advanced tutorials
  • New content every week
  • Progress tracking
  • Cancel anytime

Written by

Morgann Riu

Cybersecurity and Linux administration expert. I share my knowledge through free tutorials and training to help system administrators and developers secure their infrastructures.

Share this tutorial

Did you enjoy this article?

Comments

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.