Базовые команды IPVS для сетей Linux

IPVS (IP Virtual Server) — мощное решение для балансировки нагрузки, встроенное в ядро Linux. Часто используется в Kubernetes в качестве альтернативы iptables при использовании kube-proxy в режиме IPVS.

Что такое IPVS?

IPVS работает на транспортном уровне и позволяет балансировать трафик TCP и UDP с использованием различных алгоритмов, таких как round-robin, наименьшее количество соединений и другие.

Установка ipvsadm

# Ubuntu/Debian
sudo apt install ipvsadm

# CentOS/RHEL
sudo yum install ipvsadm

Основные команды IPVS

Просмотр текущих правил IPVS

sudo ipvsadm -L -n

Добавление виртуального сервиса

sudo ipvsadm -A -t 192.168.0.100:80 -s rr

Добавляет виртуальный сервис на IP 192.168.0.100 и порт 80 с алгоритмом round-robin.

Добавление реальных серверов

sudo ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.101:80 -g
sudo ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.102:80 -g

Удаление реального сервера

sudo ipvsadm -d -t 192.168.0.100:80 -r 192.168.0.102:80

Удаление виртуального сервиса

sudo ipvsadm -D -t 192.168.0.100:80

Полезные советы

  • -s rr — алгоритм round-robin
  • -g — прямой маршрут (по умолчанию)
  • Используйте ipvsadm-save и ipvsadm-restore для сохранения конфигурации между перезагрузками.

Заключение

IPVS — это мощный инструмент балансировки нагрузки в Linux и Kubernetes. Владение командами ipvsadm позволяет DevOps-инженерам эффективно управлять трафиком в масштабируемых системах.