auto mac0 iface mac0 inet static address {{ node_pod_cidr|ansible.utils.ipaddr('net')|ansible.utils.ipaddr(1)|ansible.utils.ipaddr('address') }} network {{ node_pod_cidr|ansible.utils.ipaddr('network') }} netmask {{ node_pod_cidr|ansible.utils.ipaddr('netmask') }} broadcast {{ node_pod_cidr|ansible.utils.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|ansible.utils.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|ansible.utils.ipaddr('net') }} -o {{ node_default_gateway_interface }} -j MASQUERADE post-down ip link delete mac0