Понимание команды инициализации kubeadm для фланели
Чтобы установить kubernetes с использованием фланели, сначала необходимо выполнить:
kubeadm init --pod-network-cidr 10.244.0.0/16
Вопросы:
- Какова цель "pod-network-cidr"?
- Что означает такой IP "10.244.0.0/16"?
- Как фланель использует это потом?
1 ответ
pod-network-cidr - это виртуальная сеть, которую будут использовать pods. То есть любой созданный модуль получит IP-адрес в этом диапазоне.
Причина установки этого параметра во фланели заключается в следующем: https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml
Давайте посмотрим на конфигурацию:
net-conf.json: |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
}
Файл yube-kube-flannel содержит 10.244.0.0/16 в качестве сетевого значения. Если вы хотите использовать другую сеть (например, по умолчанию, которую использует kubeadm), вам придется изменить yml для соответствия этой сети. В этом смысле проще просто запустить kubeadm с 10.244.0.0/16, чтобы yml работал "из коробки".
При такой конфигурации фланель настроит оверлей в разных узлах соответственно. Более подробная информация здесь: https://blog.laputa.io/kubernetes-flannel-networking-6a1cb1f8ec7c