Я пытаюсь создать кластер Kubernetes с Vagrant с помощью Ansible playbook, который отлично работает на реальных (linux) серверах. У меня проблема с kubeadm join
с бродягой.Vagrant Private Networking
Я использую следующую команду для присоединения узла к кластеру.
kubeadm join --token={{ kube_token.stdout }} {{ hostvars[groups['kubemaster'][0]].ansible_default_ipv4.address }}
Проблема с бродягой в том, что он интерпретирует:
hostvars[groups['kubemaster'][0]].ansible_default_ipv4.address
как enp0s3
адрес, который, кажется, всегда 10.0.2.15
на всех машинах в моем кластере.
Я попытался явно устанавливая внутрибрюшинна мои машины с помощью:
machine.vm.network :private_network, ip: <ip>, auto_config: false
, но это устанавливает enp0s8
адрес, так что до сих пор не работает.
Как мне сделать hostvars[groups['kubemaster'][0]].ansible_default_ipv4.address
на всех машинах в моей настройке бродяг?
Дело в том, что бродяга всегда определяет 1-й сетевой интерфейс как NAT с IP '10.0.2.15', поэтому он знает его и использует его для ssh в VM. В случае бродяги вам нужно будет прочитать IP из второго сетевого интерфейса –