2017-01-09 1 views
0

В моих рецептах шеф-повара я использую remote_file для доступа к файлам на http-сервере. Я хотел бы использовать ngnix сервера Chef для обслуживания этих файлов. Как настроить nginx от шеф-повара для работы с файлами в определенной папке с помощью http?Как добавить веб-папку в частный nginx для шеф-повара?

+1

Это очень плохая идея. 1) Это не поддерживается. 2) Он будет разорваться при любом обновлении, если вы упорствуете и настраиваете его. 3) Используйте настоящий менеджер артефактов, например nexus или artifactory, или используйте автономный nginx/apache для предоставления этих пакетов. – Tensibai

ответ

0

У нас есть много машин в локальной сети, которые будут настроены с шеф-поваром. В нашем рецепте есть много ресурсов remote_file. Проблема заключалась в том, что загрузка из Интернета занимает много времени, но в то же время файл был доступен на другом компьютере в локальной сети.

То, что я сделал это:

  • установлен Nexus для бинарного хранения файлов.
  • Monkeypatched remote_file ресурс, использующий библиотеку в поваренной книге, чтобы она загружалась каждый раз, когда загружалась поваренная книга, перезаписывая исходное поведение ресурса.

Теперь каждый раз, когда remote_file ресурс должен загрузить какой-либо файл, он будет первым спросить Nexus. Если этот файл доступен в Nexus, он загружается оттуда. Если такого файла нет, Chef загружает файл из исходного источника, а затем загружает его в Nexus для других узлов.

+0

Я не хотел устанавливать еще одно программное обеспечение. Техническое обслуживание, документация, ... Я прыгал, чтобы получить отдельную запись в существующем/новом файле конфигурации. –

+0

Звучит несколько сложнее для меня. Настройка только экземпляра nginx не должна быть такой сложной проблемой, не так ли? Если виртуальные машины вам дороги, пусть он работает на том же узле, что и Chef Server, но второй экземпляр nginx на другом порту. Не играйте с настройкой Chef Server. – StephenKing

2

Это не особенность шеф-повара. Вы можете использовать папку files/ в поваренной книге и ресурс cookbook_file для обслуживания файлов непосредственно с Chef Server, но он очень ограничен, и вы действительно должны использовать свой собственный сервер для управления большими файлами или сложными загрузками.

Смежные вопросы