Используйте марионетку для изменения IP-адреса на узлах

У меня есть 3 узла CentOS. У каждого из них есть 2 IP-адреса: 10.0.1.* (eth0) и 192.168.1.* (eth1). Всем им установили марионетку и существует основной марионеточный сервер для руководящей конфигурации в этих серверах. Все серверы взаимодействуют с марионеточным сервером с помощью 10.0.1.* дюйм/с.

Моя потребность состоит в том, что я хочу изменить eth1 IP-адрес на этих серверах. У меня может быть универсальный файл конфигурации, который может использоваться для изменения IP-адреса на этих 3 серверах, или у меня должно быть 3 различных файла конфигурации для этих 3 серверов?

1
задан 24 October 2014 в 20:47
1 ответ

Прежде чем писать собственный код, посмотрите https://forge.puppetlabs.com . Потому что обычно есть модуль, который полностью покрывает все ваши потребности.

В вашем случае, если я правильно понимаю вашу задачу, это https://forge.puppetlabs.com/example42/network

Если вы все еще хотите сделайте это вручную, вы должны либо использовать простую подстановку шаблона, как уже упоминалось, либо augeas , что я считаю лучшей идеей.

Например, чтобы настроить интерфейс vmbr0 , вам нужно добавить что-то вроде это для Debian:

augeas{ "vmbr0_interface" :
        context => "/files/etc/network/interfaces",
        changes => [
                "set auto[child::1 = 'vmbr0']/1 vmbr0",
                "set iface[. = 'vmbr0'] vmbr0",
                "set iface[. = 'vmbr0']/family inet",
                "set iface[. = 'vmbr0']/method static",
                "set iface[. = 'vmbr0']/address 192.168.11.1",
                "set iface[. = 'vmbr0']/netmask 255.255.255.0",
                "set iface[. = 'vmbr0']/bridge_ports none",
                "set iface[. = 'vmbr0']/bridge_stp off",
                "set iface[. = 'vmbr0']/bridge_fd 0"
        ]
}

И для CentOS:

        augeas { "eth1":
            context => "/files/etc/sysconfig/network-scripts/ifcfg-eth1",
            changes => [
                "set DEVICE eth1",
                "set BOOTPROTO none",
                "set ONBOOT yes",
                "set NETMASK 255.255.255.0",
                "set IPADDR 10.12.0.10",
            ],
        }

Также перейдите по этой ссылке http://projects.puppetlabs.com/projects/1/wiki/Network_Interface_Templates_Patterns . В нем есть несколько хороших мыслей о конфигурации сети.

2
ответ дан 3 December 2019 в 21:11

Теги

Похожие вопросы