Puppet требует сертификаты между клиентом (puppet), которым управляют, и сервером (puppetmaster). Вы можете запустить его вручную на клиенте, а затем перейти на сервер, чтобы подписать сертификат, но как автоматизировать этот процесс для кластеров / облачных машин?
26
Ответы:
На сервере (puppetmaster) запустите:
Затем скопируйте следующее с сервера на клиент:
Если вы хотите подписать
<NAME>
что-то отличное от имени хоста, используйте:И добавьте в /etc/puppet/puppet.conf, если запускается демон
источник
puppet cert --generate <NAME>
см. serverfault.com/a/457364/71452Если у вас есть база данных хоста, вы можете использовать функцию автоподписи. В вашем
puppet.conf
файле, в[puppetmasterd]
, добавьте:Затем используйте crontab для создания этого файла. Файл автоподписи - это просто список узлов, которые нужно подписать при первом подключении к мастеру puppetmaster. Я использую LDAP для настройки своих марионеточных хостов, поэтому мой cron выглядит так:
Я уверен, что люди, которые используют iClassify, смогут написать запрос, чтобы сделать то же самое.
Конечно, вам нужно иметь некоторое доверие к сети. Я использую это на EC2. Мой сервер puppetmaster находится в группе, которая разрешает соединения только из других доверенных групп. Я не рекомендовал бы делать это, если ваш кукловод открыт для интернета.
источник
Простой ответ: автоматически подписывать новые запросы. Это, конечно, опасно, потому что вы слепо доверяете любой системе, которая подключается к вашему хозяину puppetmaster, что является причиной необходимости подписывания вручную.
Вы можете указать false и файл, который будет использоваться для определения ключей для подписи.
Смотрите ссылку на конфигурацию в Puppet wiki.
Другой вариант - использовать такой инструмент, как Capistrano , где вы указываете узел puppetmaster и создаете узлы экземпляра клиента, а также в задаче:
источник
[puppetmasterd]
заголовок раздела должен теперь быть[master]
. См. Docs.puppetlabs.com/guides/tools.html для получения дополнительной информации.На сервере (puppetmaster) запустите:
Затем скопируйте следующее с сервера на клиент:
Если вы хотите иметь в качестве чего-то иного, чем имя хоста, используйте:
И добавьте в /etc/puppet/puppet.conf, если запускается демон
источник