22
Инфраструктура как код в Azure на базе Puppet и Chef

Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

  • Upload
    lykhue

  • View
    225

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef

Page 2: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 2

Инфраструктура как код в Azure на базе Puppet и ChefПонятие инфраструктуры как кода или же программируемой инфра-структуры играет важную роль в осуществлении подхода DevOps, а так-же является первым шагом в объединении разработки и эксплуатации в рамках одной организации.Эксплуатация вводится как часть процесса разработки с самого старта проекта, а не ближе к его развертыванию, что дает возможность лучше понять требования, которые приложение должно выполнять. Разра-ботка и эксплуатация задействованы вместе во время всего цикла раз-работки. Эти требования нужны для создания файлов автоматизации, которые будут использованы для предоставления инфраструктуры на этапе развертывания кода с помощью инструментов автоматизации.При сохранении инфраструктуры в формате кода в той же системе вер-сий, что и сам код, все изменения смогут отслеживаться, а изменения, необходимые для среды, будут осуществляться с помощью автомати-зированного скрипта. Помимо ускорения процесса развертывания, инфраструктура как код помогает предотвратить различия в конфигу-рации среды. Если в настройки среды вносится изменение, не вопло-щенное в коде, оно будет отменено при следующем развертывании.

Page 3: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 3

Microsoft Azure и инфраструктура как кодСлужба Microsoft Azure создана для того, чтобы быть объектом инфра-структуры как кода, и включает в себя инструменты, которые помогают внедрению этой дисциплины. Каждый сервис в Azure доступен через средства автоматизации с помощью интерфейса командной строки Azure или Azure PowerShell. Эти связи позволили создать такие моде-ли, как «инфраструктура как услуга» (IaaS) или «платформа как услу-га» (PaaS), которые можно запрограммировать и внедрить на любой платформе. Помимо создания ресурсов Azure, такие инструменты, как служба автоматизации Azure и настройка требуемого состояния (DSC) позволяют осуществить более глубокую интеграцию с сервисами сразу после их развертывания для настройки среды.Azure — первоклассная платформа для Linux и технологий с открытым кодом, узнайте больше о поддержке открытого кода с Azure. Практи-чески каждая третья виртуальная машина Azure работает на Linux, а также существует проект с открытым кодом для настройки требуемого состояния (DSC) для Linux.

Azure Resource ManagerВ то время как создание сред, безусловно, можно программировать с помощью PowerShell и интерфейса командной строки, компоненты таких сред обычно рассматриваются как одно целое. Azure Resource Manager позволяет развертывать и управлять такими средами как еди-ным целым. Шаблоны Azure Resource Manager представляют собой файлы в формате JSON, определяющие ресурсы для совместного раз-вертывания через декларативный синтаксис. Позднее эти шаблоны мо-гут быть развернуты с помощью кода. Чтобы начать работу, откройте шаблоны быстрого запуска Azure на GitHub.

Chef и PuppetМногие организации инвестируют в локальное аппаратное обеспече-ние, различные платформы и средства автоматизации как, например Chef и Puppet. Azure поддерживает все вышеперечисленные варианты, а также позволяет клиенту расширить инвестиции, уже сделанные в облако.Как Chef так и Puppet поддерживаются с помощью расширений вир-туальных машин, позволяя созданным виртуальным машинам поддер-живать автоматизацию. Это предполагает, что среда Chef или Puppet не требует настройки. Если вы желаете настроить новую среду, обра-зы для Chef и Puppet доступны для загрузки и развертывания на Azure Marketplace.Давайте ближе рассмотрим эти два набора инструментов.

Page 4: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 4

Автоматизация развертывания виртуальной машины Azure с помощью ChefChef — это отличное средство для автоматизации и настройки требуе-мого состояния.После нашего последнего выпуска облачного API, средство Chef обе-спечивает прозрачную интеграцию с Azure, позволяя подготовить и развернуть состояния конфигурации одной командой.В этой статье показано, как настроить среду Chef для подготовки вир-туальных машин Azure, а также рассматривается пошаговая процедура создания политики или «подробной инструкции», после чего данная инструкция применяется на практике к виртуальной машине Azure.

Основы использования ChefПрежде чем начать, рекомендую вам изучить основные принципы ра-боты со средой Chef. По этой ссылке есть отличный материал на эту тему. Я рекомендую быстро ознакомиться с ним, прежде чем начать работу с данным пошаговым руководством. Однако перед началом ра-боты мы все равно повторим основы.

Page 5: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 5

На приведенной схеме показана высокоуровневая архитектура Chef.Chef состоит из трех основных компонентов архитектуры: сервер Chef, клиент (узел) Chef и рабочая станция Chef.Сервер Chef является управляющим компонентом и доступен в двух вариантах: размещенное решение или локальное решение. Мы будем использовать размещенное решение.Клиент Chef (узел) — это агент, который находится на управляемых сер-верах.Рабочая станция Chef является нашей рабочей станцией администри-рования, где мы создаем политики и выполняем команды управления. Для управления инфраструктурой используется команда knife на рабо-чей станции Chef.Кроме того, существуют понятия «подробные инструкции» и «рецеп-ты». Фактически, это те политики, которые мы определяем и применя-ем к своим серверам.

Подготовка рабочей станцииСначала давайте подготовим рабочую станцию. В данном случае ис-пользуется стандартная рабочая станция Windows. Необходимо создать каталог для хранения файлов конфигурации и подробных инструкций.Сначала создайте каталог з именем C:\chef.Затем создайте каталог с именем C:\chef\cookbooks.Теперь нам нужно скачать наш файл параметров Azure, чтобы средство Chef могло взаимодействовать с нашей подпиской Azure.Скачайте параметры публикации здесь.Сохраните файл параметров публикации в каталоге C:\chef.

Создание управляемой учетной записи ChefЗарегистрируйте размещенную учетную запись Chef здесь.В процессе регистрации вам будет предложено создать новую органи-зацию.

Page 6: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 6

После создания организации скачайте начальный набор.

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

Настройка рабочей станции ChefИзвлеките содержимое файла chef-starter.zip в каталог C:\chef.Скопируйте все файлы из расположения chef-starter\chef-repo.chef в ка-талог C:\chef.Теперь ваш каталог должен выглядеть, как показано ниже.

Page 7: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 7

Теперь файл knife.rb должен выглядеть как в показанном ниже примере.Благодаря этим строкам Knife ссылается на каталог подробных инструк-ций C:\chef\cookbooks, а также использует наш файл параметров пу-бликации Azure во время выполнения операций Azure.

У вас должно быть четыре файла, включая файл публикации Azure в корне каталога C:\chef.PEM-файлы содержат закрытые ключи администратора и организации для обеспечения связи, а файл knife.rb содержит конфигурацию knife. Нам потребуется изменить файл knife.rb.

cookbook_path [«#{current_dir}/cookbooks»]

Откройте файл в предпочитаемом вами редакторе и измените путь cookbook_path, удалив из него «/../» и получив следующий вид.

Кроме того, добавьте следующую строку с учетом имени своего файла параметров публикации Azure. knife[:azure_publish_settings_file] = «yourfilename.publishsettings»

Page 8: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 8

Установка пакета средств разработки ChefЗатем скачайте и установите ChefDK (пакет средств разработки Chef) для настройки рабочей станции Chef.

Установите пакет в расположение по умолчанию — C:\opscode. Эта установка займет около 10 минут.Убедитесь, что переменная PATH содержит записи для путей C:\opscode\chefdk\bin, C:\opscode\chefdk\embedded\bin, C:\users\yourusername.chefdk\gem\ruby\2.0.0\binЕсли они отсутствуют, обязательно добавьте эти пути!ОБРАТИТЕ ВНИМАНИЕ, ЧТО ВАЖЕН ПОРЯДОК ПУТЕЙ! Если пути opscode указаны в неправильном порядке, возникнут проблемы.Прежде чем продолжить, перезагрузите рабочую станцию.Далее мы установим расширение для Knife Azure. Это предоставляет Knife «подключаемый модуль Azure».

Выполните следующую команду.chef gem install knife-azure ––pre

ПримечаниеБлагодаря аргументу –pre вы получите последнюю версию-кандидат подключаемого модуля Knife для Azure, предоставляющего доступ к ак-туальному набору API.

Page 9: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 9

Вполне вероятно, что в это же время будет установлен набор зависимостей.

Чтобы проверить правильность настройки, выполните следующую команду.knife azure image list

Если все настроено правильно, появится прокручиваемый список до-ступных образов Azure.Поздравляем! Рабочая станция настроена.

Создание подробной инструкцииПодробная инструкция используется Chef для определения набора ко-манд, которые необходимо выполнить на управляемом клиенте. Со-здание подробной инструкции не вызывает проблем, поэтому для соз-дания шаблона подробной инструкции мы используем команду chef generate cookbook. Мы назовем свою подробную инструкцию именем webserver, так как нам нужна политика, которая автоматически развер-тывает службы IIS.В каталоге C:\Chef: выполните следующую команду.

chef generate cookbook webserver

Будет создан набор файлов в каталоге C:\Chef\cookbooks\webserver. Те-перь необходимо определить набор команд, который наш клиент Chef должен будет выполнять на управляемой виртуальной машине.Команды хранятся в файле default.rb. В этом файле мы определим на-бор команд, который устанавливает службы IIS, запускает их и копирует файл шаблона в папку wwwroot.

Page 10: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 10

Измените файл C:\chef\cookbooks\webserver\recipes\default.rb и до-бавьте в него указанные ниже строки.

powershell_script ‘Install IIS’ do action :run code ‘add-windowsfeature Web-Server’end

service ‘w3svc’ do action [ :enable, :start ]end

template ‘c:\inetpub\wwwroot\Default.htm’ do source ‘Default.htm.erb’ rights :read, ‘Everyone’end

После завершения работы сохраните файл.

Создание шаблонаКак упоминалось ранее, необходимо создать файл шаблона, который будет использоваться в качестве нашей страницы default.html.Выполните следующую команду, чтобы создать шаблон.

chef generate template webserver Default.htm Перейдите к файлу C:\chef\cookbooks\webserver\templates\default\Default.htm.erb. Добавьте в него простой HTML-код Hello World и со-храните файл.

Page 11: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 11

Передача подробной инструкции на сервер ChefВ этом шаге мы отправляем копию подробной инструкции, созданной на локальном компьютере, на размещенный сервер Chef. После пере-дачи подробная инструкция появится на вкладке Политика.+

knife cookbook upload webserver

Развертывание виртуальной машины с помощью Knife AzureТеперь мы развернем виртуальную машину Azure и применим под-робную инструкцию Webserver, которая установит веб-службу IIS и веб-страницу по умолчанию.Для этого используйте команду knife azure server create.Пример такой команды приводится ниже.

knife azure server create --azure-dns-name ‘diegotest01’ --azure-vm-name ‘testserver01’ --azure-vm-size ‘Small’ --azure-storage-account ‘portalvhdsxxxx’ --bootstrap-protocol ‘cloud-api’ --azure-source-image ‘a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201411.01-en.us-127GB.vhd’ --azure-service-location ‘Southeast Asia’ --winrm-user azureuser --winrm-password ‘myPassword123’ --tcp-endpoints 80,3389 --r ‘recipe[webserver]’

Названия параметров говорят сами за себя. Подставьте свои перемен-ные и запустите команду.

ПримечаниеМы автоматизируем работу правил сетевых фильтров конечной точки, используя параметр –tcp-endpoints в командной строке. Здесь откры-ты порты 80 и 3389, чтобы обеспечить доступ к веб-странице и сеансу протокола удаленного рабочего стола.

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

Откроется командная строка.

Page 12: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 12

После завершения развертывания мы должны получить возможность подключения к веб-службе через порт 80, так как мы открыли этот порт, когда подготавливали виртуальную машину с помощью команды Knife Azure. Поскольку эта виртуальная машина — единственная в моей облачной службе, я подключусь к ней по URL-адресу облачной службы.

Не забывайте, что можно также подключиться через сеанс протоко-ла удаленного рабочего стола с классического портала Azure через порт 3389.

Page 13: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 13

Развертывание Puppet Enterprise в Microsoft AzurePuppet Enterprise сейчас доступен на Microsft Azure Marketplace, благо-даря чему вы можете быстро поднять виртуальную машину с послед-ней версией PE для оценки.В этом разделе вы научитесь использовать Azure для настройки puppet-мастер и puppet-агент.

Установка Puppet MasterПеред началом установки создайте учетную запись Azure.

Шаг 1. Откройте портал Azure.На портале Azure нажмите НОВАЯ. Введите puppet enterprise в поле по-иска и выберите Puppet Enterprise 3.7.2.

Page 14: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 14

Шаг 2. Выберите образ PE.Выберите Puppet Enterprise 3.7.2.

Шаг 3. Выберите классическую модель развертывания в списке Выберите модель развертывания, нажмите Классическая.

ИМЯ ХОСТА. Любое слово, состоящее из 3–15 символов, включая бук-вы, цифры и дефисы. Можно использовать буквы только в нижнем ре-гистре; SSL-сертификат не будет создан, если в имени будут использо-ваны буквы в верхнем регистре.

ИМЯ ПОЛЬЗОВАТЕЛЯ. Введите имя пользователя. Чаще всего это имя учетной записи администратора для получения доступа к машине. Не допускаются такие имена пользователя, как puppet, pe-admin или pe-puppet.

Page 15: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 15

ТИП ПРОВЕРКИ ПОДЛИННОСТИ. Вы можете загрузить SSH-ключ или установить пароль. Для этих шагов необходимо использовать пароль. Нажмите УСТАНОВИТЬ ПАРОЛЬ и введите его.

ЦЕНОВАЯ КАТЕГОРИЯ. Убедитесь, что вы выбрали как минимум Standard_D2_v2 (2 ядра, 7 ГБ памяти). Можно выбрать и больший раз-мер, но в этом нет необходимости и это увеличит стоимость. Меньший размер не сможет предоставить достаточно мощностей и виртуальная машина не будет справляться.

ДОПОЛНИТЕЛЬНАЯ КОНФИГУРАЦИЯ. В разделе КОНЕЧНЫЕ ТОЧКИ, настройте порты виртуальной машины. SSH-порт предварительно уста-новлен, потому как на образе Linux можно запустить только puppet-ма-стер. Добавьте следующие обязательные порты. Первый можно выбрать из раскрывающегося списка. Порты Puppet и MCollective — дополнитель-ные, их нужно добавить вручную.

HTTPS — чтобы открыть порт 443 для консоли PE.Puppet — чтобы открыть порт 8140 для puppet-агентов.MCollective — чтобы открыть порт 61613 для MCollective.

ГРУППА РЕСУРСОВ. Выберите существующую группу ресурсов либо создайте новую.

ПОДПИСКА. Выберите необходимый тип подписки.

РАСПОЛОЖЕНИЕ. Выберите ваш регион. По умолчанию будет указан регион вашей учетной записи.

Если вы желаете использовать SSH-ключ, выполните действия, необходимые для получения требуемого сертификата X509, описанные на странице Создание SSH-ключа.

Для получения документации про использование порта, смо-трите настройки брандмауэра в Системных требованиях и предустановке.

Page 16: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 16

После редактирования местоположения нажмите Создать.

Запустится процесс настройки. Установка PE займет около 15 минут. На левой панели навигации нажмите на значок «Виртуальные машины (классическая)». Выберите виртуальную машину, которую вы только что создали. Обратите внимание на полное доменное имя (FQDN) в графе DNS-имя.

Например: puppetmaster-w8msh322.cloudapp.net.

Примечание о настройках DNS. Azure предоставляет для виртуальной машины как внутреннее, так и внешнее DNS-имя. Для этих шагов мы используем внешнее DNS-имя. Таким образом, вы можете подключаться к puppet-агентам вне сети Azure, это распространенный сценарий. Однако это влечет за собой создание двух дополнительных портов в зоне КОНЕЧНЫХ ТОЧЕК.

SSH для виртуальной машины PEВыполните в клиенте CLI либо в любом другом ssh-клиенте команду ssh <username>@<public DNS name>, указав DNS-имя, которое можно най-ти выше.Например: ssh [email protected].

Примечание: если у вас нет SSH-клиента, загрузите бесплатно PuTTY здесь.

При первом использовании SSH в puppet-мастере вам будет предложе-но принять удаленный открытый ключ хоста. В сообщении указано, что невозможно установить подлинность хоста, и спрашивается, хотите ли вы продолжить без установки подлинности.

Введите «да». Затем введите пароль, использованный при создании виртуальной машины PE.

Через 15 минут приступайте к следующему шагу.

Page 17: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 17

Вход в консоль PEПеред созданием виртуальной машины puppet-агента, необходимо получить пароль, который генерируется при настройке puppet-масте-ра. Он используется для доступа к консоли PE, графический пользова-тельский веб-интерфейс, дающий возможность управлять запросами узла, связывать классы с узлами, запускать puppet и многое другое. Чтобы узнать больше, посмотрите раздел электронной документации о консоли PE.

В этом разделе вы узнаете, как получить пароль, а затем доступ к кон-соли.

Шаг 1. Получите учетные данные консоли.Запустите sudo watch tail /etc/puppetlabs/installer/database_info.install Locate the setting, q_puppet_enterpriseconsole_auth_password, к которо-му добавлен пароль. Это выглядит примерно так: q_puppet_enterpriseconsole_auth password= Foryurcit0 Если пароль не появляется, консоль не готова к использова-нию.

Примечание: если вы забыли от-крыть порт во время настройки puppet-мастера, можно сделать это позднее: на панели Azure нажмите стрелку на виртуальной машине puppet-мастер, затем нажмите КОНЕЧНЫЕ ТОЧКИ, «Добавить», выберите отдельную конечную точку и выберите или создайте необходимый вам порт.

Скопируйте пароль для шага 3.Имя пользователя консоли — admin.

Шаг 2. Откройте консоль PE.В строке браузера, введите https://<public DNS name>. Например: https://pe-demo.cloudapp.net. Убедитесь, что используется https, а не http.Так можно узнать, готова ли виртуальная машина PE к использованию. Вы узнаете, что она готова, когда появится кнопка входа в консоль (см. рис.).

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

Поскольку вы пока не создали ни одного агента, здесь хранится не очень много информации. Выберите Узел, чтобы просмотреть узел puppet-мастера и его закрытое DNS-имя. После добавления агента в следующем разделе, вы снова вернетесь к консоли.

Примечание: ели не удалось установить puppet-мастер, про-смотрите журнал, который нахо-дится здесь:

/var/log/upstart/puppetinit.log.

Page 18: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 18

Установка Puppet-агентаВ этих шагах я расскажу, как раскрутить puppet-агент на виртуальной машине Azure во время подготовки. Шаги аналогичны настройке вир-туальной машины PE.

Шаг 1. Запустите рабочий процесс виртуальной машины.На портале Azure, нажмите НОВАЯ, а затем

СРЕДА ВЫПОЛНЕНИЯ ПРИЛОЖЕНИЙ -> Центр данных Windows Server 2012 R2.

Шаг 2. Выберите классическую модель развертыванияВ списке Выберите модель развертывания выберите Классическая.

Page 19: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 19

Шаг 3. Начните настройки виртуальной машины.Введите следующую информацию и нажмите на стрелку, чтобы перей-ти на следующую страницу.

ИМЯ ХОСТА. Любое слово, состоящее из 3–15 символов, включая буквы, цифры и дефисы.

ИМЯ ПОЛЬЗОВАТЕЛЯ. Любое слово на выбор. Чаще всего это имя учет-ной записи администратора для получения доступа к машине.

ПАРОЛЬ. Выберите пароль.

ЦЕНОВАЯ КАТЕГОРИЯ. Выберите тот размер, который подойдет под предполагаемую нагрузку виртуальной машины.

ДОПОЛНИТЕЛЬНАЯ КОНФИГУРАЦИЯ. В разделе РАСШИРЕНИЯ, выберите пункт «Добавить расширение». Выберите расширение Puppet Enterprise Agent. Нажмите «Создать».

Шаг 4. Настройте расширения для использования Puppet-мастера Введите FQDN Puppet-мастера. Нажмите OK.

Подсказка. На панели навигации слева нажмите «Виртуальные машины (классические)».

Выберите «Виртуальная машина Puppet Master». Найдите полное доменное имя (FQDN) в «DNS-имя».

Шаг 5. Продолжите настраивать виртуальную машину

ГРУППА РЕСУРСОВ. Выберите ранее созданную группу ресурсов.

Page 20: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 20

ПОДПИСКА. Выберите необходимый тип подписки.

РАСПОЛОЖЕНИЕ. Выберите желаемое расположение.

После редактирования местоположения нажмите Создать.Puppet-агент установлен и заносит данные в puppet-мастер сразу после настройки виртуальной машины. Этот процесс может занять несколько минут.По его завершению агент отправляет мастеру запрос на сертификацию.

Подтверждение запроса узла агентаВ этом разделе мы рассмотрим puppet-агент на консоли PE и примем запрос подписи сертификата (CSR).

Шаг 1. Откройте консоль PE, как и ранее.

Шаг 2. Найдите и подтвердите запрос агента.

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

Page 21: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef 21

Установка удаленного соединения через сеанс удаленного рабочего столаВ следующих шагах описано, что делать, если puppet-агент не подклю-чается к puppet-мастеру.

Шаг 1. Перейдите на панель мониторинга виртуальной машины. Выберите «Виртуальные машины (классические)» на левой панели на-вигации в Azure. Нажмите на агента виртуальной машины.

Шаг 2. Загрузите файл удаленного рабочего стола. Загрузите файл удаленного рабочего стола, нажав «Подключиться» на панели инструментов в верхней части панели управления. Дважды щелкните на этом файле, чтобы подключиться к виртуальной машине. Имя входа — hostname/username. Чтобы узнать больше, см. Документация удаленного рабочего стола для Azure.

Шаг 3. Запустите Puppet-агент.Найдите cmd, нажмите правой кнопкой Запустить командную строку в Puppet, а затем — Запуск от имени администратора. В PowerShell введите puppet agent --configprint server. Проверьте, подключается ли puppet-агент к корректному узлу puppet-мастера.

Теперь, когда вы ознакомились с Руководством по началу работы, см. Документация о Puppet Enterprise, чтобы узнать больше о автоматизации и возможностях конфигурации PE.

Надеюсь, что эта информация была для вас полезной! Отправьтесь в путешествие по инфраструктуре как коду вместе с Azure уже сегодня!

Page 22: Инфраструктура как код в Azure на базе Puppet и Chefксплуатация вводится как часть процесса разработки с самого

Инфраструктура как код в Azure на базе Puppet и Chef