Фланелевый конфиг использует более 255 узлов

Мне нужно установить фланель на кубернетес. Мой чистый диапазон 10.101.0.0/16, Мне нужно обойтись около 1500 узлов (голый металл). Мой фланелевый конфиг

"Network": "10.101.0.0/16"

Фланель установит каждый узел с 10.101.x.0/32, Поэтому максимальное число noes составляет 255. Как мне изменить конфигурацию, чтобы она работала с 1500 узлами??

2 ответа

Решение

Flannel предоставляет каждому хосту IP-подсеть (по умолчанию /24), из которой демон Docker может назначать IP-адреса отдельным контейнерам.

Вы можете изменить маску подсети IP по умолчанию на любую, какую захотите. Это позволяет иметь больше узлов, но, с другой стороны, уменьшает количество модулей в узле.

Итак, если вы не хотите менять диапазон вашей сети ("10.101.0.0/16") и по-прежнему использовать фланель, вы можете установить:

/25 по умолчанию маска подсети IP и иметь 512 узлов по 125 модулей в каждом;

/26 как маска подсети IP по умолчанию и иметь возможность иметь 1024 узла с 61 модулем в каждом;

/27 по умолчанию маска подсети IP и иметь 2048 узлов с 29 модулями в каждом.

Чтобы установить любой диапазон сверху, просто создайте его на сайте etcd. Например:

etcdctl --peers="{{ etcd_servers }}" set /coreos.com/network/config '{"Network":"10.101.0.0/16","SubnetLen": 25}'
/25 as default IP subnet netmask and be able to have 512 nodes with 125 pods each;

/26 as default IP subnet netmask and be able to have 1024 nodes with 61 pods each;

/27 as default IP subnet netmask and be able to have 2048 nodes with 29 pods each.

Могу ли я дать некоторые дополнительные объяснения? Когда префикс равен 25, предоставляется 128 - 2 IP-адреса, но узел будет использовать ., .1 или **., .129, таким образом, есть 128 - 2 - 1, предоставленный Стручкам. Когда префикс равен 26, Node будет использовать **., .1 или **., .65 или **., .129 или **.. **. 193, так что на одном узле есть только 61 IP для стручков.

Другие вопросы по тегам