DevOps Advanced 45 мин 1.09.2026 г.

Building a Production Kubernetes Cluster from Scratch

Step-by-step guide за изграждане на HA Kubernetes клъстер с kubeadm, etcd и HAProxy.

Server infrastructure

Предварителни изисквания

  • Linux admin basics
  • Networking fundamentals
  • TLS concepts

Цел на туториала

Ще изградим High Availability Kubernetes клъстер с:

  • 3 control plane nodes
  • 3 worker nodes
  • External etcd cluster (или stacked)
  • HAProxy + Keepalived за API server VIP

Предварителни изисквания

  • 6 VM-а (или bare metal) с Ubuntu 24.04
  • Минимум 2 vCPU / 4 GB RAM на control plane
  • Статични IP адреси
  • Достъп до интернет за pull на images

Стъпка 1: Подготовка на nodes

# На всички nodes
sudo apt update && sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl enable --now containerd

# Disable swap
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

Стъпка 2: Инсталиране на kubeadm

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | \
  sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] \
  https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | \
  sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

Стъпка 3: Init на първия control plane

sudo kubeadm init \
  --control-plane-endpoint "k8s-api.example.com:6443" \
  --upload-certs \
  --pod-network-cidr=10.244.0.0/16

След това join останалите control plane и worker nodes с генерираните команди.

Следващи стъпки

  1. Инсталирай CNI (Cilium или Calico)
  2. Настрой MetalLB или cloud load balancer
  3. Добави monitoring (kube-prometheus-stack)
  4. Имплементирай NetworkPolicies

Готов си за production-like среда.