Поддержка изоляции трафика VRF Lite
Для настройки bgp пиринга, механизма bfd и заведения изолированных таблиц маршрутизации(VRF Lite) применяется софтверный маршрутизатор bird.
Заведение bgp пиринга
`
# Определение VRF в конфигурации Bird
vrf red {
table red_table; # Локальная таблица маршрутизации Bird для этого VRF
protocol kernel {
ipv4 {
export all; # Экспорт маршрутов из Bird в таблицу ядра, связанную с VRF
};
kernel table 100; # Привязка к таблице маршрутизации ядра Linux (номер 100)
}
protocol bgp peer_with_router {
local as 65000;
neighbor 192.168.10.1 as 65001;
ipv4 {
import all; # Импорт всех полученных BGP-маршрутов
export none;
};
bfd on;
}
}
protocol bfd {
multihop {
min rx interval 300 ms;
min tx interval 300 ms;
multiplier 3;
};
}
Использование в поде
Чтобы подключить под к VRF, сначала необходимо определить дополнительный сетевой ресурс (NetworkAttachmentDefinition).
В его конфигурации указывается использование CNI VRF plugin и привязка к существующему интерфейсу:
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: vrf-red-net
spec:
config: '{
"cniVersion": "0.3.0",
"type": "vrf",
"vrf": {
"name": "red",
"table": 100
},
"ipam": {
"type": "whereabouts",
"range": "192.168.10.0/24"
}
}'
Теперь можно применить данный NAD к целевому поду