Добавлена локальная локальная балансировка

This commit is contained in:
ayurishchev committed 2026-08-17 16:59:16 +03:00
1 parent afd4f057be
commit d80a6c44b0
17 files changed
+1628 -369

No files matched your search

+27 -7
View File
@@ -1,16 +1,21 @@
SHELL := /bin/bash
DC := docker compose
# Скрипты подготовки хоста требуют root. Под root sudo не нужен и может
# отсутствовать в системе.
SUDO := $(shell [ "$$(id -u)" = 0 ] || echo sudo)
.PHONY: help prereq shim shim-down build up down restart flows verify logs ports health slots drain enable metrics conns trace shell
.PHONY: help prereq shim shim-down build up down restart attach detach flows verify logs ports health slots drain enable metrics conns trace fdb shell
help:
@echo "Стенд hpnn_v2 — шаг 1 (OVS: маршрутизация + балансировка)"
@echo "Стенд hpnn_v2 — OVS: маршрутизация, балансировка, коммутация сегментов"
@echo
@echo " make prereq загрузить модуль openvswitch на хосте"
@echo " make shim поднять macvlan-shim (проверка стенда с самого хоста)"
@echo " make shim-down снять shim"
@echo " make up собрать образы и запустить стенд"
@echo " make down остановить стенд и удалить сети"
@echo " make attach подключить ВМ сегментов к br-lb (после пересоздания)"
@echo " make detach снять порты сегментов с моста"
@echo " make flows перечитать pipeline.sh и перезалить пайплайн"
@echo " make verify прогнать проверки"
@echo " make ports порты моста br-lb"
@@ -20,18 +25,19 @@ help:
@echo " make enable M=be1 вернуть член в балансировку"
@echo " make metrics метрики Prometheus"
@echo " make conns таблица соединений ct"
@echo " make trace SRC=192.168.5.7 [SPORT=40000] ofproto/trace сессии на VIP"
@echo " make trace SRC=192.168.5.7 [SPORT=40000] [SEG=pub|p2|p3] ofproto/trace"
@echo " make fdb таблица коммутации сегментов (выученные MAC)"
@echo " make logs логи контейнеров"
@echo " make shell shell в контейнере lb-router"
prereq:
sudo scripts/host-prereq.sh
$(SUDO) scripts/host-prereq.sh
shim:
sudo scripts/host-prereq.sh --shim
$(SUDO) scripts/host-prereq.sh --shim
shim-down:
sudo scripts/host-prereq.sh --shim-down
$(SUDO) scripts/host-prereq.sh --shim-down
build:
$(DC) build
@@ -43,8 +49,19 @@ up: prereq
$(DC) exec -T lb-router curl -fsS --max-time 2 http://127.0.0.1:9111/status >/dev/null 2>&1 && break; \
sleep 1; \
done
@$(MAKE) --no-print-directory attach
@echo "Ждём, пока health-пробы увидят членов пула..."
@sleep 6
@$(MAKE) --no-print-directory health
# Порты ВМ сегментов создаёт гипервизор; в стенде их создаёт этот скрипт.
# Повторить нужно после пересоздания любого контейнера сегмента.
attach:
$(SUDO) scripts/attach-segment.sh
detach:
$(SUDO) scripts/attach-segment.sh --detach
down:
$(DC) down
@@ -82,7 +99,10 @@ conns:
$(DC) exec -T lb-router lbctl conns
trace:
$(DC) exec -T lb-router lbctl trace $(SRC) $(SPORT)
$(DC) exec -T lb-router lbctl trace $(SRC) $(SPORT) $(SEG)
fdb:
$(DC) exec -T lb-router lbctl fdb
shell:
$(DC) exec lb-router bash