Установка сервера Chef Infra
Существует три сценария конфигурации сервера Chef Infra:
- Отдельный (всё на одном компьютере)
- Высокая доступность (компьютеры настроены для front-end и back-end, позволяя отказоустойчивость back-end и балансировку нагрузки front-end, по мере необходимости)
- Иерархический (компьютеры настроены для front-end и back-end, с одним back-end и балансировкой нагрузки front-end, по мере необходимости)
Поддерживаемые платформы
В следующей таблице перечислены поддерживаемые коммерчески платформы и версии сервера 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:
Загрузите пакет с https://downloads.chef.io/chef-server/.
Загрузите пакет на компьютер, на котором будет работать сервер Chef Infra, и запишите его расположение в файловой системе. Остальные шаги предполагают, что это расположение находится в каталоге
/tmp.-
Как пользователь root, установите пакет сервера Chef Infra на сервере, используя имя пакета, предоставленное 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_NAMEАвтоматически генерируется закрытый ключ RSA. Это закрытый ключ пользователя, который следует сохранить в надёжном месте. Опция
--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/