Установка сервера Chef Infra
Существует три варианта конфигурации сервера Chef Infra:
- Отдельный (все на одном компьютере)
- Высокая доступность (компьютеры настроены для фронт-энд и бэк-энд, позволяя выполнить переход на бэк-энд и балансировку нагрузки на фронт-энд, по мере необходимости)
- Многоуровневый (компьютеры настроены для фронт-энд и бэк-энд, с единственным бэк-эндом и балансировкой нагрузки на фронт-энд, по мере необходимости)
Поддерживаемые платформы
В следующей таблице перечислены коммерчески поддерживаемые платформы и версии для сервера Chef Infra:
| Платформа | Архитектура | Версия |
|---|---|---|
| Amazon Linux 2 | x86_64 | 2.x |
| CentOS | x86_64 |
7.x, 8.x
|
| Oracle Enterprise Linux | x86_64 |
7.x, 8.x
|
| Red Hat Enterprise Linux | x86_64 |
7.x, 8.x
|
| SUSE Enterprise Linux Server | x86_64 |
12.x, 15.x
|
| Ubuntu | x86_64 |
16.04, 18.04, 20.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 и групповой аккаунт, под которым будут выполняться службы. Дополнительную информацию см. в разделе Идентификаторы пользователей и групп.
Примечание
Отдельный
Установка сервера Chef Infra в автономном режиме создает рабочую установку на одном сервере. Эта установка также полезна, когда вы устанавливаете сервер Chef Infra в виртуальной машине, для демонстрации концепции развертывания или как часть цикла разработки или тестирования.
Для установки сервера Chef Infra:
-
Загрузите пакет с 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 4thcafe 'Fourth Cafe, Inc.' --association_user janedoe --filename /path/to/4thcafe-validator.pemИмя должно начинаться с маленькой буквы или цифры, может содержать только маленькие буквы, цифры, дефисы и подчеркивания и должно быть от 1 до 255 символов. Например:
4thcafe.Полное имя должно начинаться с символа, отличного от пробела, и должно быть от 1 до 1023 символов. Например:
'Fourth Cafe, 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 для высокой доступности. Настройка кластера бэкенда (Backend Cluster) настоятельно рекомендуется для новых установок:
Многоуровневый (один бэкенд)
Следующая ссылка описывает, как настроить сервер Chef Infra с одним бэкенд-компьютером и несколькими фронт-энд-компьютерами. Обратите внимание, что этот процесс устарел в пользу настройки с использованием кластера бэкенда (Backend Cluster):
© 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/server/install_server/