f599c2a691
* add macvlan cni to kubespray * macvlan: lint yaml files and fix sample config file * macvlan: add OWNERS file * add macvlan to README * macvlan : CI first shoot * macvlan : CI add full masquerade * delegate retrive pod cidr to master only * macvlan: add config for CI * macvlan: add netchecker deployment
27 lines
1.2 KiB
Django/Jinja
27 lines
1.2 KiB
Django/Jinja
auto mac0
|
|
iface mac0 inet static
|
|
address {{ node_pod_cidr|ipaddr('net')|ipaddr(1)|ipaddr('address') }}
|
|
network {{ node_pod_cidr|ipaddr('network') }}
|
|
netmask {{ node_pod_cidr|ipaddr('netmask') }}
|
|
broadcast {{ node_pod_cidr|ipaddr('broadcast') }}
|
|
pre-up ip link add link {{ macvlan_interface }} mac0 type macvlan mode bridge
|
|
{% for host in groups['kube-node'] %}
|
|
{% if hostvars[host]['access_ip'] is defined %}
|
|
{% if hostvars[host]['node_pod_cidr'] != node_pod_cidr %}
|
|
post-up ip route add {{ hostvars[host]['node_pod_cidr'] }} via {{ hostvars[host]['access_ip'] }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% if enable_nat_default_gateway %}
|
|
post-up iptables -t nat -I POSTROUTING -s {{ node_pod_cidr|ipaddr('net') }} -o {{ node_default_gateway_interface }} -j MASQUERADE
|
|
{% endif %}
|
|
{% for host in groups['kube-node'] %}
|
|
{% if hostvars[host]['access_ip'] is defined %}
|
|
{% if hostvars[host]['node_pod_cidr'] != node_pod_cidr %}
|
|
post-down ip route del {{ hostvars[host]['node_pod_cidr'] }} via {{ hostvars[host]['access_ip'] }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
post-down iptables -t nat -D POSTROUTING -s {{ node_pod_cidr|ipaddr('net') }} -o {{ node_default_gateway_interface }} -j MASQUERADE
|
|
post-down ip link delete mac0
|
|
|