Установка сервера Chef Infra
Существует три сценария конфигурации сервера Chef Infra:
- Отдельный (всё на одном компьютере)
- Высокая доступность (компьютеры настроены для фронтэнда и бэкэнда, позволяя осуществлять резервирование бэкэнда и балансировку нагрузки на фронтэнде по мере необходимости)
- Многоуровневый (компьютеры настроены для фронтэнда и бэкэнда, с одним бэкэндом и балансировкой нагрузки на фронтэнде по мере необходимости)
Поддерживаемые платформы
В следующей таблице перечислены поддерживаемые коммерчески платформы и версии для сервера Chef Infra:
| Платформа | Архитектура | Версия |
|---|---|---|
| CentOS | x86_64 |
6.x, 7.x, 8.x
|
| Oracle Enterprise Linux | x86_64 |
6.x, 7.x, 8.x
|
| Red Hat Enterprise Linux | x86_64 |
6.x, 7.x, 8.x
|
| SUSE Enterprise Linux Server | x86_64 |
12, 15
|
| Ubuntu | x86_64 |
16.04, 18.04
|
Предварительные требования
Сервер Chef Infra имеет следующие предварительные требования:
- Архитектура системы, совместимая с x86_64; Red Hat Enterprise Linux и CentOS могут потребовать обновлений перед установкой
- Разрешимый хост-имя, указанный с использованием FQDN или IP-адреса
- Подключение к протоколу Network Time Protocol (NTP) для предотвращения дрейфа времени
- Если используются брандмауэры на основе хоста (iptables, ufw и т. д.), убедитесь, что порты 80 и 443 открыты. См. раздел «брандмауэры» предварительных требований к установке для получения дополнительной информации.
- Локальный агент передачи почты, который позволяет серверу Chef Infra отправлять уведомления по электронной почте
- Использование cron и каталога
/etc/cron.dдля периодических задач обслуживания - Отключение демона Apache Qpid на системах CentOS и Red Hat. См. раздел «Apache Qpid» документации по предварительным требованиям для получения подробных шагов.
- Необязательно. Локальный пользовательский аккаунт, под которым будут работать службы, локальный пользовательский аккаунт для PostgreSQL и группа аккаунтов, под которыми будут работать службы. См. UID и GID для получения дополнительной информации.
Примечание
Отдельный
Установка сервера Chef Infra в режиме «Отдельный» создаёт рабочую установку на одном сервере. Эта установка также полезна при установке сервера Chef Infra в виртуальной машине, для демонстрации концепции, или как часть цикла разработки или тестирования.
Чтобы установить Chef Server:
Скачайте пакет с https://downloads.chef.io/chef-server/.
Загрузите пакет на компьютер, на котором будет работать сервер Chef Infra, и запишите его расположение в файловой системе. Остальные шаги предполагают, что это расположение находится в каталоге
/tmp.-
Как пользователь root, установите пакет Chef Infra Server на сервер, используя имя пакета, предоставленное Chef. Для Red Hat Enterprise Linux и CentOS:
sudo rpm -Uvh /tmp/chef-server-core-<version>.rpmДля Ubuntu:
sudo dpkg -i /tmp/chef-server-core-<version>.debЧерез несколько минут сервер Chef Infra будет установлен.
-
Запустите следующее, чтобы запустить все службы:
sudo chef-server-ctl reconfigureТак как сервер Chef Infra состоит из многих различных служб, которые работают вместе для создания функциональной системы, для завершения этого шага может потребоваться несколько минут.
-
Запустите следующую команду, чтобы создать администратора:
sudo chef-server-ctl user-create USER_NAME FIRST_NAME LAST_NAME EMAIL 'PASSWORD' --filename FILE_NAMERSA-ключ закрытого доступа генерируется автоматически. Это ключ закрытого доступа пользователя и его следует сохранить в надёжном месте. Параметр
--filenameсохранит RSA-ключ закрытого доступа в указанном абсолютном пути.Например:
sudo chef-server-ctl user-create janedoe Jane Doe janed@example.com 'abc123' --filename /path/to/janedoe.pem -
Запустите следующую команду, чтобы создать организацию:
sudo chef-server-ctl org-create short_name 'full_organization_name' --association_user user_name --filename ORGANIZATION-validator.pemНапример:
sudo chef-server-ctl org-create 4thcoffee 'Fourth Coffee, Inc.' --association_user janedoe --filename /path/to/4thcoffee-validator.pemИмя должно начинаться с маленькой буквы или цифры, содержать только маленькие буквы, цифры, дефисы и подчёркивания и должно быть длиной от 1 до 255 символов. Например:
4thcoffee.Полное имя должно начинаться с не-пробельного символа и должно иметь длину от 1 до 1023 символов. Например:
'Fourth Coffee, Inc.'.Параметр
--association_userсвяжетuser_nameс группой безопасностиadminsна сервере Chef Infra.RSA-ключ закрытого доступа генерируется автоматически. Это ключ закрытого доступа chef-validator и его следует сохранить в надёжном месте. Параметр
--filenameсохранит RSA-ключ закрытого доступа в указанном абсолютном пути.
Обновление конфигурации для приобретённых узлов
Для использования более чем 25 узлов, вам потребуется изменить конфигурацию сервера Chef Infra, чтобы он распознал ваши лицензии. Измените файл /etc/opscode/chef-server.rb следуя нижеприведённой процедуре:
-
На вашем сервере Chef Infra, если файл
chef-server.rbне существует, создайте его.sudo mkdir /etc/opscode && sudo touch /etc/opscode/chef-server.rb -
Откройте только что созданный файл
chef-server.rbв вашем любимом текстовом редакторе, например:sudo vi /etc/opscode/chef-server.rb -
Вставьте или добавьте следующий текст. Обратите внимание на расположение одинарных кавычек ('). Если вы используете текстовый редактор vi, вам потребуется использовать клавишу i для вставки текста.
license['nodes'] = N where N is the number of licensed nodes you have purchased -
Сохраните файл. Если вы используете vi, из примера выше, используйте клавишу esc и затем:
:wq -
Запустите
chef-server-ctl reconfigureдля того, чтобы изменения были приняты сервером Chef Infra.sudo chef-server-ctl reconfigure
Для получения дополнительной информации о конфигурации вашего сервера Chef Infra, см. chef-server.rb Параметры и chef-server.rb Дополнительные настройки.
Высокая доступность
Следующие ссылки описывают, как настроить сервер Chef Infra для высокой доступности. Настройка Кластера бэкэнда настоятельно рекомендуется для новых установок:
Многоуровневый (один бэкэнд)
Следующая ссылка описывает, как настроить сервер Chef Infra с одной машиной бэкэнда и несколькими машинами фронтэнда. Обратите внимание, что этот процесс устарел в пользу настройки кластера бэкэнда:
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/install_server