Новости

Kubernetes на одном VPS: когда это выгодно и как запустить

Kubernetes на одном VPS часто воспринимают как излишество. Большинство считает, что это инструмент только для огромных облаков. В реальности для белорусского бизнеса 2026 года K3s на обычном VPS — удобное и выгодное решение. Мы развернули такие кластеры на 18 проектах: от интернет-магазинов до внутренних CRM. Когда проект перерастает простой Docker Compose, но до полноценного облака ещё далеко — это идеальная середина.

Главное преимущество — вся инфраструктура в одном месте: deployments, сервисы, ingress, секреты и автоскейлинг. Деплой одной командой, мгновенный rollback и никаких конфликтов портов. Ниже — точные условия, когда это выгодно, и проверенный гайд по запуску. Всё протестировано на реальных белорусских тарифах.

Когда Kubernetes на одном VPS действительно выгоден

Не каждому проекту нужен оркестратор. Мы включаем K3s только в трёх случаях.

Первый — три и больше микросервисов. Frontend на Node.js, API на Go, worker на Python и база. Docker Compose справляется, но обновление одного сервиса требует перезапуска всего стека. K3s изолирует контейнеры и позволяет обновлять независимо без downtime.

Второй — частые релизы. Если команда делает 5–10 деплоев в неделю, kubectl или GitHub Actions сокращают время с 30 минут до 90 секунд. Мы видели, как e-commerce с очередями сократил время вывода фичи в продакшен в 10 раз.

Третий — подготовка к масштабированию. Даже на одном сервере вы сразу работаете с manifests, Helm и monitoring. Когда нагрузка вырастет — добавляете вторую ноду за час. Для белорусских стартапов это экономия: учитесь продакшен-инструментам без оплаты Kubernetes в облаке.

На VPS 4 ГБ RAM / 2 CPU K3s занимает всего 400–600 МБ. Остаётся достаточно под приложение. Если RAM меньше 4 ГБ или сервисов 1–2 — оставайтесь на Compose.

Установка K3s — лёгкий Kubernetes за 10 минут

K3s создан специально для одного сервера. Установка одной командой:

curl -sfL https://get.k3s.io | sh —

Через 40 секунд проверьте: kubectl get nodes

Вы увидите один Ready-нод. K3s сразу поднял etcd, kubelet и containerd.

Для продакшена отключите встроенный Traefik и load-balancer: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC=»server —disable traefik —disable servicelb» sh —

Установите Ingress-Nginx одной командой из официального манифеста и примените. Добавьте в UFW порты 80, 443 и 6443.

Скачайте kubeconfig: cat /etc/rancher/k3s/k3s.yaml

Скопируйте на локальную машину — теперь управляйте кластером прямо из терминала. Firewall уже настроен под K3s, и всё работает через 10 минут после старта.

Запуск первого стека и продакшен-настройки

Создайте namespace: kubectl create ns production

Пример Deployment для API: apiVersion: apps/v1 kind: Deployment metadata: name: api spec: replicas: 2 selector: matchLabels: app: api template: metadata: labels: app: api spec: containers:

  • name: api image: yourimage:latest ports:
    • containerPort: 3000 resources: limits: cpu: «500m» memory: «800Mi»

Добавьте Service и Ingress. Для базы используйте StatefulSet с persistent volume.

Примените: kubectl apply -f deployment.yaml

Включите автоскейлинг: kubectl autoscale deployment api —cpu-percent=60 —min=2 —max=5

Секреты создавайте отдельно: kubectl create secret generic db-credentials —from-literal=password=strongpass

В deployment подключайте через envFrom. Для CI/CD настройте GitHub Actions: checkout + kubectl set image deployment/api api=yourimage:newtag.

Мониторинг встроенный — kubectl top pod. Добавьте cert-manager — сертификаты Let’s Encrypt выдаются автоматически.

Мы всегда добавляем resource limits и readiness probes. Один сервер 8 ГБ держит 5–6 микросервисов под нагрузкой 2000 RPS.

Выводы

Kubernetes на одном VPS — это не усложнение, а следующий шаг для зрелых проектов. K3s запускается за 10 минут, потребляет минимум ресурсов и даёт все возможности настоящего оркестратора. Для белорусских компаний, которые растут или уже работают с несколькими сервисами, это экономия времени, защита от ошибок и готовность к масштабу. Начните с тестового namespace сегодня — через неделю вы не захотите возвращаться к обычному Compose. Именно так мы переводим большинство проектов на новый уровень в 2026 году.