Создание маршрута в основной таблице “main”
1apiVersion: network.deckhouse.io/v1alpha1
2kind: RoutingTable
3metadata:
4 name: myrt-main
5spec:
6 ipRoutingTableID: 254 # main routing table id is 254
7 routes:
8 - destination: 10.0.0.0/8
9 gateway: 192.168.0.1
10 nodeSelector:
11 node-role.deckhouse.io: load-balancer
Согласно данному ресурсу на узлах, попадающих под nodeSelector
, будет создан маршрут 10.0.0.0/8 via 192.168.0.1
:
1$ ip -4 route ls
2...
310.0.0.0/8 via 192.168.0.1 dev eth0 realm 216
4...
Инструкция realm 216
в маршруте используется как маркер для идентификации маршрута под управлением модуля (d8 hex = 216 dec).
Создание маршрута в дополнительной таблице
1apiVersion: network.deckhouse.io/v1alpha1
2kind: RoutingTable
3metadata:
4 name: myrt-extra
5spec:
6 routes:
7 - destination: 0.0.0.0/0
8 gateway: 192.168.0.1
9 nodeSelector:
10 node-role.deckhouse.io: load-balancer
11status:
12 ipRoutingTableID: 10000 # если spec.ipRoutingTableID не указан, он будет сгенерирован автоматически и размещён в status
13 ...
Согласно данному ресурсу на узлах, попадающих под nodeSelector
, будет создан маршрут 0.0.0.0/0 via 192.168.0.1
в таблице 10000
:
1$ ip -4 route ls table 10000
2default via 192.168.0.1 dev eth0 realm 216
Создание ip rule
1apiVersion: network.deckhouse.io/v1alpha1
2kind: IPRuleSet
3metadata:
4 name: myiprule
5spec:
6 rules:
7 - selectors:
8 from:
9 - 192.168.111.0/24
10 - 192.168.222.0/24
11 to:
12 - 8.8.8.8/32
13 - 172.16.8.0/21
14 sportRange:
15 start: 100
16 end: 200
17 dportRange:
18 start: 300
19 end: 400
20 ipProto: 6
21 actions:
22 lookup:
23 routingTableName: myrt-extra
24 priority: 50
25 nodeSelector:
26 node-role.deckhouse.io: load-balancer
Согласно данному ресурсу на узлах, попадающих под nodeSelector
, будет создан ip rule:
1$ ip rule list
2...
350: from 192.168.111.0/24 to 172.16.8.0/21 ipproto tcp sport 100-200 dport 300-400 lookup 10000 realms 216
450: from 192.168.222.0/24 to 8.8.8.8 ipproto tcp sport 100-200 dport 300-400 lookup 10000 realms 216
550: from 192.168.222.0/24 to 172.16.8.0/21 ipproto tcp sport 100-200 dport 300-400 lookup 10000 realms 216
650: from 192.168.111.0/24 to 8.8.8.8 ipproto tcp sport 100-200 dport 300-400 lookup 10000 realms 216
7...