Базовые команды 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-инженерам эффективно управлять трафиком в масштабируемых системах.