ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить и настроить Chef на Ubuntu 17.04

Как Установить и настроить Chef на Ubuntu 17.04

Chef является свободным и открытым инструментом управления конфигурацией. Он написан на Ruby, и Erlang. Chef может легко интегрироваться с облачными платформами, такими как AWS, OpenStack или Rackspace, и т.д., чтобы автоматически создавать и управлять серверами. Когда организация растет и число узлов увеличивается, становится трудно для системного администратора управлять каждым узлом самостоятельно. В этом случае Chef приходит на помощь. Система Chef состоит из трех частей, Chef – сервера, рабочих станций и узлов Chef.  Инструмент DevOps позволяет системному администратору управлять несколькими узлами из центрального расположения.

В этой статье мы установим последнюю версию Chef на Ubuntu 17.04 (Zesty Zapus).

Необходимые условия для установки:

Базовое обновление системы

Перед установкой пакета рекомендуется обновить пакеты и хранилища с помощью следующей команды.

apt update && apt -y upgrade

 

После того, как ваша система обновиться, можно идти дальше.

Обновление Hostname

Chef требует именя хоста, установленного на сервере. Имя хоста должно быть FQDN or Full Qualified Domain Name, например, chef.yourdomain.ru. Для того, чтобы установить имя хоста на сервере, выполните следующую команду.

hostname 'chef.yourdomain.ru'

 

Заменить chef.yourdomain.ru на доменное имя. Кроме того, обновить имя хоста в файле /etc/hostname.

echo "chef.yourdomain.ru" | tee /etc/hostname

 

Добавьте IP – адрес вашего хоста в файле /etc/hosts, выполнив следующую команду.

echo "192.168.1.1 chef.yourdomain.ru" >> /etc/hosts

 

Заменить 192.168.1.1 на фактический публичный IP – адрес.

Настройка NTP

Сервер протокола сетевого времени NTP требуется для синхронизации часов сервера. Chef требует от системы, к которой он подключен, запустить NTP,  так как он очень чувствителен к изменениям времени. NTP работает на порту 123 на UDP. Для того, чтобы установить NTP на сервере, выполните следующую команду.

apt install ntp

 

Запустите NTP, выполнив следующую команду.

systemctl start ntp

 

Чтобы включить NTP для автоматического запуска во время загрузки, выполните следующую команду.

systemctl enable ntp

 

Вы можете проверить, что NTP имеет синхронизированные часы, выполнив следующую команду.

ntpq -p

 

Вы должны увидеть следующий вывод:

root@chef:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 time.ooonet.ru  89.109.251.22    2 u    2   64    1   28.924   -0.036   0.065
 46.8.40.31 (n2. 109.195.19.73    2 u    1   64    1   51.909    2.922   0.037
*ground.corbina. 193.11.166.8     2 u    2   64    1    2.826    0.274   0.031

Скачивание и установка Chef

Скачать пакет сервера Chef для Ubuntu, выполнив следующую команду.

wget https://packages.chef.io/files/stable/chef-server/12.15.8/ubuntu/16.04/chef-server-core_12.15.8-1_amd64.deb

 

Вы всегда можете найти ссылку на последнюю версию Chef, посетив страницу загрузки Chef. Теперь установите пакет, выполнив следующую команду.

dpkg -i chef-server-*.deb

 

Chef теперь установлен в вашей системе. Вам нужно будет настроить сервер, прежде чем использовать его.

Настройка Chef

Теперь вы можете запустить следующую команду, чтобы запустить все службы, необходимые для работы Chef.

chef-server-ctl reconfigure

 

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

Chef Client finished, 491/1096 resources updated in 03 minutes 13 seconds
Chef Server Reconfigured!

 

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

chef-server-ctl status

 

Вы должны увидеть следующий вывод.

root@chef:~# chef-server-ctl status
run: bookshelf: (pid 6030) 87s; run: log: (pid 6047) 86s
run: nginx: (pid 5859) 91s; run: log: (pid 6387) 82s
run: oc_bifrost: (pid 5766) 92s; run: log: (pid 5842) 92s
run: oc_id: (pid 5849) 91s; run: log: (pid 5854) 91s
run: opscode-erchef: (pid 6244) 84s; run: log: (pid 6108) 85s
run: opscode-expander: (pid 5926) 88s; run: log: (pid 6010) 87s
run: opscode-solr4: (pid 5895) 89s; run: log: (pid 5912) 89s
run: postgresql: (pid 5718) 93s; run: log: (pid 5745) 92s
run: rabbitmq: (pid 5239) 101s; run: log: (pid 5099) 105s
run: redis_lb: (pid 5036) 121s; run: log: (pid 6361) 83s

Установка веб-консоли управления

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

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

chef-server-ctl install chef-manage

 

Перенастройка сервера Chef  снова набрав:

chef-server-ctl reconfigure

 

И, наконец, настроить управление Chef с помощью следующей команды.

chef-manage-ctl reconfigure

 

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

chef-manage-ctl reconfigure --accept-license

 

Создание администратора и организации

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

mkdir ~/.chef

 

Теперь создайте нового администратора, выполнив следующую команду.

chef-server-ctl user-create admin Chef Administrator chef@yourdomain.com StrongPassword -f ~/.chef/admin.pem

 

Заменить администратор выбранным именем, Chef с именем и фамилией администратором, вашей электронной почтой chef@yourdomain.ru и admin.pem должны быть в соответствии с вашим именем пользователя. Замените StrongPassword на очень сильный пароль.

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

chef-server-ctl org-create my_org 'My Organization' --association_user admin -f ~/.chef/my_org.pem

 

Замените my_org на короткое имя вашей организации, My Organization на полной название вашей организации и admin с правами администратора, которого вы создали.

Доступ к веб-консоли

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

http://Your-Server-IP

 

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

Войти в панель Chef

 

Войдите, используя имя пользователя и пароль, которые вы создали. После того, как вы успешно вошли в систему, вы увидите следующий интерфейс.

Панель Chef

Установка дополнительных плагинов

Вы можете включить отчеты, чтобы узнать о процессе на всех Chef-клиентах, которые управляются сервером Chef. Вы можете запускать отчеты с помощью консоли управления Chef для просмотра отчетов на веб – консоли. Отчеты могут создаваться для всей организации, и они могут быть созданы для конкретных узлов.  Для установки отчетов, выполните следующую команду.

chef-server-ctl install opscode-reporting

 

Перенастройка сервера Chef, запустив:

chef-server-ctl reconfigure

 

Настройка модуля отчетов при помощи команды:

opscode-reporting-ctl reconfigure

 

Вы можете проверить, установлен и работает правильно плагин installad, выполнив:

opscode-reporting-ctl test

 

Аналогичным образом, вы можете установить Chef Push jobs для выполнения заданий. Chef Push jobs позволяет серверу Chef выполнять задания с узлами независимо от Chef-клиентов. Chef Push jobs использует сервер API Chef и клиент Ruby, чтобы инициировать все соединения с сервером Chef.  Установите Push Jobs, выполнив следующую команду:

chef-server-ctl install opscode-push-jobs-server

 

Перенастройка сервера Chef, запустив:

chef-server-ctl reconfigure

 

Настройка запуска модуля Push Jobs:

opscode-push-jobs-server-ctl reconfigure

 

Вывод

В этой статье мы узнали, как установить последнюю версию Chef на последнюю версию Ubuntu. Вы можете узнать больше о Chef, посетив веб – сайт Chef.

Exit mobile version