Виртуальные маршрутизаторы
Начиная с версии v0.27.0 Cozystack может развёртывать виртуальные маршрутизаторы (также известные как «router appliances» или «middlebox appliances»). Эта возможность позволяет создать виртуальный маршрутизатор на основе экземпляра виртуальной машины. Виртуальный маршрутизатор может маршрутизировать трафик между разными сетями.
Создание виртуального маршрутизатора
Для создания виртуального маршрутизатора требуется учётная запись администратора Cozystack.
Создайте экземпляр ВМ
Используйте стандартные пакетыvm-instanceиvirtual-machine, чтобы создать экземпляр виртуальной машины.Отключите защиту от подмены адресов (anti-spoofing)
Чтобы экземпляр ВМ мог работать как виртуальный маршрутизатор, у него должна быть отключена защита от подмены адресов:kubectl patch virtualmachines.kubevirt.io virtual-machine-example --type=merge \ -p '{"spec":{"template":{"metadata":{"annotations":{"ovn.kubernetes.io/port_security": "false"}}}}}'Перезапустите виртуальную машину
virtctl stop virtual-machine-example virtctl start virtual-machine-exampleПолучите IP-адрес ВМ
kubectl get vmiВ выводе будет строка с IP-адресом новой ВМ:
NAME AGE PHASE IP NODENAME READY virtual-machine-example 3d4h Running 10.244.8.56 gld-csxhk-003 TrueНастройте пользовательские маршруты для тенанта
Отредактируйте пространство имён тенанта:kubectl edit namespace tenant-exampleДобавьте следующую аннотацию, указав полученный ранее IP-адрес маршрутизатора в
gwи маску подсети, которую должен обслуживать маршрутизатор, вdst:ovn.kubernetes.io/routes: | [{ "gw": "10.244.8.56", "dst": "10.10.13.0/24" }]
Теперь эти пользовательские маршруты будут применяться ко всем подам в пространстве имён тенанта.