gpt4 book ai didi

vagrant 设置重复的 IP 地址; Ansible 会接他们吗?

转载 作者:行者123 更新时间:2023-12-02 11:03:15 25 4
gpt4 key购买 nike

我有以下Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
NUM_HOSTS = 3

def hostname(id)
"node#{id}"
end

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "chef/centos-7.0"

config.ssh.forward_agent = true
config.ssh.insert_key = false

config.vm.provider :virtualbox do |vb|
vb.gui = false
vb.memory = 512
vb.cpus = 1
end

config.vm.provision "ansible" do |ansible|
ansible.playbook = "vagrant_playbook.yml"
ansible.groups = {
"vagrant" => (1..NUM_HOSTS).collect { |id| hostname(id) }
}
end

NUM_HOSTS.times do |n|
id = n + 1
config.vm.define hostname(id), primary: id == 1 do |host|
host.vm.network :private_network, ip: "10.0.33.1#{id}"
end
end
end

这会分配 enp0s8 上的私有(private)地址。但是,它在 enp0s3 上分配了重复的 IP 地址:10.0.2.15。不幸的是,Ansible 似乎在 ansible_default_ipv4 中选择了重复的地址,而不是唯一的地址,因此在这些机器上运行的服务无法按预期工作。那么,有没有办法:

  • 阻止 Vagrant 分配重复的 IP? (我正在使用 virtualbox 提供程序,如果有帮助的话)
  • 更改 ansible_default_ipv4 使用哪个接口(interface)?
  • 还有其他我没想过要搜索的解决方案吗?

最佳答案

这是您可以同时使用的解决方法:

{{ ansible_all_ipv4_addresses | last }}

假设可以保证目标盒子的 ipv4 地址始终按可预测的顺序排序,则可以正常工作。

关于vagrant 设置重复的 IP 地址; Ansible 会接他们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28068546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com