DevOps Advanced 45 мин • 1.09.2026 г.
Building a Production Kubernetes Cluster from Scratch
Step-by-step guide за изграждане на HA Kubernetes клъстер с kubeadm, etcd и HAProxy.
Предварителни изисквания
- 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 с генерираните команди.
Следващи стъпки
- Инсталирай CNI (Cilium или Calico)
- Настрой MetalLB или cloud load balancer
- Добави monitoring (kube-prometheus-stack)
- Имплементирай NetworkPolicies
Готов си за production-like среда.