Когда мониторинг кричит «упал Kubernetes», причина часто не в Kubernetes.
Детектив сбоя
API начинает отвечать рывками, ноды то появляются, то исчезают. В managed-кластере расследование быстро упирается в закрытые сетевые слои и чужие лимиты. В bare-metal K3s цепочка видна целиком: WireGuard, MTU и MSS, conntrack, Cilium, etcd и Longhorn.
Первый подозреваемый — фрагментация внутри туннеля. Неподходящий MTU режет крупные пакеты, а TCP превращает симптом в таймауты. Второй — переполненный conntrack: сервисы живы, но новые соединения не проходят. Третий — etcd: лишняя задержка между узлами превращает запись состояния в очередь.
K3s поверх WireGuard не магия и не бесплатная замена managed Kubernetes. Это контроль над маршрутом, ядром и данными. Cilium дает прозрачную сетевую политику и наблюдаемость, Longhorn — репликацию на своих дисках, а etcd можно держать в пределах измеряемой задержки.
Практика проста: сначала tcpdump и /proc, затем sysctl и метрики Cilium, и только потом обвинени...