Установка пакета пропуска клиента Chef на сервере с воздушным зазором
Я пытаюсь установить рецепты шеф-повара на сервере с воздушным зазором. Я собрал драгоценные камни, перечисленные во всех рецептах, и подготовил архив поставщика / кеша. Копируем его на сервер и запускаем
/opt/chef/embedded/bin/bunlde install --local
успешно установил 233 драгоценных камня, но когда я запустил
chef-client -j boot.json
он находит все драгоценные камни и не загружает, но по-прежнему выполняет шаг установки пакета, пытается получить доступ к rubygems.org и терпит неудачу
Запуск chef-client в режиме отладки не показывает имени драгоценного камня, он пытается загрузить, поэтому я не знаю, чего не хватает. Могу ли я пропустить этот шаг или узнать, какой драгоценный камень отсутствует?
1 ответ
Частью запуска после загрузки кулинарных книг является установка необходимых гемов в файл рецептов metadata.rb.
Клиент готовит Gemfile и запускает
bundle install
чтобы проверить, установлены ли и обновлены ли необходимые драгоценные камни , это поведение сборщика и почему он пытается подключиться к rubygems.org.
Как сказано в комментариях, продажа всех драгоценных камней на каждом сервере далеко не эффективна, вам лучше иметь внутренний репозиторий драгоценных камней и указывать на него своего клиента.
Это почти то, что вы сделали, получили все драгоценные камни по своим рецептам, установили их на внутреннюю машину и запустили
gem server
.
Это может быть утомительным, и есть другие подходы , позволяющие зеркальный rubygem внутренне более легко описано здесь