Подготовка сервера Chef в Microsoft Azure

Опубликовано: 4 Марта, 2023
Подготовка сервера Chef в Microsoft Azure

В предыдущей статье мы работали над созданием машины Windows с Chef SDK, и основной целью было создание наших кулинарных книг и рецептов и загрузка их на сервер Chef.

Существует несколько вариантов сервера Chef: локально или в виде устройства в Microsoft Azure или облаке AWS. В этой статье мы будем создавать сервер Chef в Microsoft Azure. Используя Azure, мы предоставим сервер Chef, который представляет собой виртуальную машину на базе Linux. Первый шаг — настроить пару ключей SSH, которая будет использоваться для подключения к создаваемой виртуальной машине.

Мы все о совместимости, и чтобы сделать вещи интересными, мы будем использовать клиент MacOS для создания сертификатов, необходимых для подключения к новому серверу Chef. Чтобы создать ключи, мы будем использовать приведенную ниже команду для создания закрытого и открытого ключа. Мы также можем определить парольную фразу (не обязательно). По умолчанию создаются файлы id_rsa для закрытого ключа и id_rsa.pub для открытого ключа.

После создания ключей наш следующий шаг — скопировать открытый ключ в память. Поскольку мы используем Mac OS, мы можем хранить все содержимое файла id_rsa.pub, которое отображается с помощью cat, в памяти, используя канал и добавляя команду pbcopy. Чтобы проверить, содержит ли pbcopy всю информацию, мы используем pbpaste для отображения содержимого памяти. Следующая последовательность команд и их краткое описание помогут вам понять шаги.

Команда Краткое описание
компакт-диск ~ Перейти в домашнюю папку пользователя
компакт-диск.ssh Перейти в скрытую папку.ssh
лс Получить все файлы. Мы должны иметь возможность видеть открытый и закрытый ключи
кот id_rsa.pub | pbcopy Получить открытый ключ к памяти. Этот контент будет использоваться на портале Microsoft Azure.
Pbpaste Подтвердить вывод

Все команды, описанные выше в левой колонке, изображены на изображении ниже.

Следующим шагом будет настройка сервера Chef в Microsoft Azure. Войдите на портал Azure, нажмите «Создать», введите и выберите его из списка. В первой колонке с кратким описанием решения Chef Automate нажмите «Создать». Примечание. Если у вас нет лицензии, вы можете развернуть и использовать бесплатную 30-дневную пробную версию — просто оставьте поле лицензии пустым.

В колонке определите имя пользователя и вставьте открытый ключ, созданный на предыдущем шаге. При подготовке сервера Chef мы должны использовать новую или пустую . Нажмите «Хорошо».

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

  • — это имя, по которому мы найдем этот сервер, и оно будет общедоступно.
  • , где мы должны разместить сервер. Рекомендуется использовать тот же сегмент текущих производственных серверов.
  • : используйте существующую подсеть, где этот сервер сможет взаимодействовать с любыми существующими серверами (если таковые имеются).

Во всех других блейдах, необходимых для завершения подготовки, просто оставьте настройки по умолчанию и дождитесь завершения процесса создания ВМ.

После завершения процесса подготовки мы можем проверить виртуальную машину в группе ресурсов, которую мы создали в процессе подготовки. На вкладке мы можем скопировать DNS-имя. В нашем примере это .

Инициализация сервера Chef

После подготовки виртуальной машины Chef Automation нам нужно использовать DNS-имя, которое мы определили во время подготовки виртуальной машины, и добавить префикс https и суффикс / biscotti/setup к строке, которую мы скопировали на предыдущем шаге. Полный URL-адрес будет примерно таким: https://andersonlab.canadaeast.cloudapp.azure.com/biscotti/setup .

На начальной странице установки будет запрошена некоторая личная информация, наиболее важной из которых является название организации. После заполнения всей информации нажмите Setup Chef Automate and Download Starter Kit.

На следующей странице будет надпись «Все готово», и будет загружен starter_kit.zip. Этот файл важен для настройки среды. Все пароли, используемые Chef, находятся в файле chef-automate-credentials.txt. (У нас будет имя пользователя и учетные данные для администратора, строителя и пользователя.)

Второй важной частью информации является папка .chef, которая содержит все необходимые сертификаты и knife.rb, в котором есть все настройки для подключения локальной рабочей станции (Chef SDK) к серверу Chef в Microsoft Azure.

Мы должны скопировать всю папку .chef в папку и после этого мы сможем отправлять поваренные книги из Chef SDK на сервер Chef.

Мы можем проверить соединение между нашей рабочей станцией и сервером Chef, запустив команду ssl check ножа, и результат должен быть похож на изображение ниже.

Генерация поваренной книги и загрузка на сервер Chef

Войдя в систему Chef SDK, мы создадим новую кулинарную книгу под названием CoreWS и будем использовать следующую команду, изображенную на изображении ниже. Эта команда сгенерирует структуру папок, необходимую для поваренной книги. Наш следующий шаг — отредактировать default.rb, расположенный в папке «Рецепты», и ввести информацию о нашем рецепте. В кулинарной книге может быть несколько рецептов.

Чтобы загрузить определенную книгу рецептов на сервер, используйте следующую команду из командной строки:

Knife upload cookbook cookboksCoreWS

Результат операции можно увидеть на сервере Chef Automate, куда была загружена первая поваренная книга.

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