Файл передачи между управляемыми марионетками серверами

Вот диапазоны IP, принадлежавшие Amazon для EC2.

https://forums.aws.amazon.com/ann.jspa? annID=857

0
задан 18 March 2013 в 16:56
2 ответа

Я бы посмотрел на экспортированные ресурсы .

Вы можете определить дополнительный ресурс, используя настраиваемый факт в качестве источника для содержимого файла:

node servera {
    @@file { "/generated/file"
        ensure => present,
        content => $::myspecialfilecontent
        tag => myspecialfile,
    }
}

и реализовать ресурс на serverb:

node serverb {
    File <<| tag == 'myspecialfile' |>> {
        notify => Service["your_service"],
    } 
}

пользовательский факт марионетки может выглядеть следующим образом (поместите его в файл modules /.../ lib / facter / myspecialfilecontent.rb и включите pluginsync):

filename = '/generated/file'
Facter.add(:myspecialfilecontent) do
    setcode do
        if File.file?(filename)
            File.read(filename)
        end
    end
end

вам потребуется storeconfigs = true (puppetdb) для этого.

Это не очень чистое решение, но оно может работать.

1
ответ дан 4 December 2019 в 21:23

Предположим, что у вас есть общий класс или узел (например, по умолчанию), который применяется ко всем узлам, управляемым марионеткой.

Здесь вы создаете политику для управления файлом, создаваемым ежедневно, но только виртуальным ресурсом.

node default {
  $fsufix = strftime("%y_%m_%d")
  @file { "everyday_file" :
    path => "/scratch/usern/file_${fsufix}",
    ensure => present,
  }
}

Затем для сервераA , вам просто нужно проверить, присутствует ли этот файл, реализовав виртуальный ресурс, который мы только что создали ранее:

node 'serverA' inherits default {
  realize(File["everyday_file"])
}

После этого вы хотите, чтобы serverB выполнял то же самое, что и serverA, плюс обновлял службу, если файл был создан или изменен:

node 'serverB' inherits default {
  realize(File["everyday_file"])
  service { "mysqld" :
    ensure => running,
    hasrestart => true,
    subscribe => File ["everyday_file"],
  }
}
0
ответ дан 4 December 2019 в 21:23

Теги

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