Изящный способ категоризировать марионеточные узлы в EC2 в Точной Ubuntu?

Я сделал что-то подобное. На работе я сделал сценарий удара, который делает для цикла - для каждого подкаталога, CD в него, CP все файлы к dir единой цели, и затем CD создает резервную копию.

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

Вы могли также сделать что-то с находкой./-вводят-f и затем делают CP каждого файла в целевой каталог, в то время как (вероятно, использующий sed) разделяют все имена подкаталога от целевого аргумента.

0
задан 17 June 2013 в 23:23
2 ответа

Рекомендуемый способ сделать это - классифицировать ваши узлы с использованием настраиваемого факта.

Вы можете использовать nodes.pp следующим образом:

node default {
  hiera_include('classes')
}

node /.*some.domain.com$/ inherits default {
}

Это Таким образом, вы можете использовать hiera.yaml , чтобы легко назначать модули, сохраняя общие модули в другом файле yaml. Это может быть пример:

---
:backends:
  - yaml
:hierarchy:
  - "%{::hostname}"
  - common
:yaml:
  :datadir: "/etc/puppet/hieradata/%{::domain}/%{::location}"

Где факт местоположения определен в файле /etc/facter/facts.d/datacenter.yaml , который также может содержать больше фактов, если необходимо:

---
location: rohan

Результирующая структура каталогов для ваших хиераданных может выглядеть так:


$ tree
.
├── hiera.yaml
└── some.domain.com
    ├── rohan
    │   ├── common.yaml
    │   ├── host.specific.yaml
    │   └── other.host.yaml
    └── mordor
        ├── common.yaml
        ├── some.host.yaml
        └── other.host.yaml

Еще несколько идей относительно использования хиеры для классификации узлов можно найти здесь .

.
3
ответ дан 4 December 2019 в 11:52

Не используйте узел для классификации машин. Напишите «ролевой» факт в /etc/facter/facts.d/role.txt . Используйте идентификатор экземпляра ec2 в качестве имени сертификата марионетки. Используйте hiera's hiera_include для назначения модулей на основе факта роли ваших узлов.

Вот слайд-колода презентации, которую я сделал в прошлом году по этой теме. https://speakerdeck.com/robbyt/puppetcamp-nyc-2012-puppet-in-the-cloud

1
ответ дан 4 December 2019 в 11:52

Теги

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