Включение hostNetwork: верно для IPv6 oly - PullRequest
0 голосов
/ 15 апреля 2020

Я ищу способ использовать hostNetwork: true, но только для IPv6, мне нужны возможности хостов ipv6, но я также хотел бы иметь внутреннюю сеть для модулей (например, для prometheus или готового HTTP-сервера). Если я включу hostNetwork = true Я не могу связать дополнительные HTTP-серверы, потому что он связывается с хостом.

Спасибо!

1 Ответ

0 голосов
/ 15 апреля 2020

Использование только IPv6

Если вы хотите sh использовать только IPv6 (отключив IPv4) или ваши хосты имеют только адреса IPv6, вы должны отключить автоопределение IPv4, установив * От 1005 * до none. С этим набором вы также должны передать CALICO_ROUTER_ID каждому модулю ситцевого узла.

Чтобы отключить IPv4, нам нужно, чтобы IPv4 узла был пустым:

  spec:
    bgp:
      ipv4Address: none
      ipv6Address: ff9b::/128

, но проблема является то, что адрес ipv4 используется в качестве идентификатора маршрутизатора в конфигурации bird (6), к сожалению, это не так просто, как просто использовать вместо этого адрес ipv6.

Взгляните: bgp-router-ipv6 , ipv6-только ситца .

См. Также: calico-ipv6- только .

Вы можете добавить gw по умолчанию в узел. Добавьте gw по умолчанию и попробуйте команду curl для доступа к вашему IP-адресу службы API с вашего хоста. Если это не доступно, ваш кластер не будет. Пример IP s 2001:db8:0:f101::2, добавьте фиктивный маршрут, как показано ниже:

sudo /sbin/route -A inet6 add default gw 2001:0db8:0:f101::1

Если вы используете ipvs вместо iptables, я могу видеть, что он работает без какого-либо маршрута по умолчанию, так как ipvsadm добавляет следующее правило. fd20 :: 1 - мой кластер IP

TCP [fd20::1]:443 rr  
-> [2001:db8:0:f101::2]:6443 Masq 1 5 0
...