Spec-Zone.ru › Chef 17

Настройки chef-backend.rb

[править на GitHub]

Предупреждение

Chef Backend устарел и больше не развивается. Обратитесь к своему представителю Chef, чтобы узнать об обновлении вашей системы.

Этот документ больше не поддерживается.

Параметры chef-backend.rb

Запустите chef-backend-ctl gen-sample-backend-config для генерации файла chef-backend.rb. Это позволит контролировать большинство различных параметров функций и конфигурации узлов бэкэнда Chef HA. Ряд этих параметров управляет надёжностью, стабильностью и временем безотказной работы баз данных PostgreSQL бэкэнда, индекса Elasticsearch и системы выбора лидера. Пожалуйста, не изменяйте их, если вам не было дано соответствующего указания.

Следующие настройки — единственные, которые вы можете изменить без консультации:
fqdn
Имя хоста этого узла.
hide_sensitive
Установите в значение false, если вы хотите выводить дельты конфиденциальных файлов и шаблонов во время выполнения chef-backend-ctl reconfigure.
Значение по умолчанию: true.
ip_version
Установите значение 'ipv4' или 'ipv6'.
Значение по умолчанию: 'ipv4'.
publish_address
Внешний разрешаемый IP-адрес этого узла бэкэнда.

Общие флаги «Runit» для любой службы бэкэнда

См. https://github.com/chef-cookbooks/runit для получения подробной информации. Многие флаги повторяются в различных службах бэкэнда, но они документированы только один раз вверху. Те же значения по умолчанию используются, если не указано иное ниже.

postgresql.enable
Настраивает и запускает службу postgresql.
Значение по умолчанию: true.
postgresql.environment
Хэш переменных среды со значениями, используемыми в каталоге env службы.
postgresql.log_directory
Каталог, в котором будет работать служба регистрации svlogd.
Значение по умолчанию: '/var/log/chef-backend/postgresql/<version>'.
postgresql.log_rotation.file_maxbytes
Максимальный размер файла журнала, прежде чем он будет автоматически переименован.
Значение по умолчанию: 104857600 (100 МБ).
postgresql.log_rotation.num_to_keep
Максимальное количество файлов журнала, которые будут сохранены после переименования.
Значение по умолчанию: 10.
etcd.enable
Настраивает и запускает службу etcd.
Значение по умолчанию: true.
etcd.log_directory
Каталог, в котором будет работать служба регистрации svlogd.
Значение по умолчанию: '/var/log/chef-backend/etcd'.
etcd.log_rotation.file_maxbytes
Максимальный размер файла журнала, прежде чем он будет автоматически переименован.
Значение по умолчанию: 104857600 (100 МБ).
etcd.log_rotation.num_to_keep
Максимальное количество файлов журнала, которые будут сохранены после переименования.
Значение по умолчанию: 10.
elasticsearch.enable
Настраивает и запускает службу elasticsearch.
Значение по умолчанию: true.
elasticsearch.log_directory
Каталог, в котором будет работать служба регистрации svlogd . Также влияет на path.logs в конфигурационном YAML Elasticsearch.
Значение по умолчанию: '/var/log/chef-backend/elasticsearch'.
elasticsearch.log_rotation.file_maxbytes
Максимальный размер файла журнала, прежде чем он будет автоматически переименован.
Значение по умолчанию: 104857600 (100 МБ).
elasticsearch.log_rotation.num_to_keep
Максимальное количество файлов журнала, которые будут сохранены после переименования.
Значение по умолчанию: 10.
leaderl.enable
Настраивает и запускает службу leaderl.
Значение по умолчанию: true.
leaderl.log_directory
Каталог, в котором будет работать служба регистрации svlogd.
Значение по умолчанию: '/var/log/chef-backend/leaderl'.
leaderl.start_down
Устанавливает состояние службы runit в down путем создания файла <sv_dir>/down.
Значение по умолчанию: true.
leaderl.log_rotation.file_maxbytes
Максимальный размер файла журнала, прежде чем он будет автоматически переименован.
Значение по умолчанию: 104857600 (100 МБ).
leaderl.log_rotation.num_to_keep
Максимальное количество файлов журнала, которые будут сохранены после переименования.
Значение по умолчанию: 10.

Настройки PostgreSQL

postgresql.db_superuser
Создать суперпользователя. Пароль находится в chef-backend-secrets.json.
Значение по умолчанию: 'chef_pgsql'.
postgresql.md5_auth_cidr_addresses
Список авторизованных адресов, с которых другие узлы бэкэнда могут подключаться для потоковой репликации. samehost и samenet — специальные символы для разрешения подключений с IP-адреса этого узла и его подсети. Вы также можете использовать all для соответствия любому IP-адресу. Вы можете указать имя хоста или IP-адрес в формате CIDR (172.20.143.89/32 для одного хоста или 172.20.143.0/24 для небольшой сети. См. https://www.postgresql.org/docs/9.5/static/auth-pg-hba-conf.html для альтернативных форматов.
Значение по умолчанию: ["samehost", "samenet"].
postgresql.replication_user
Имя пользователя, используемое репликатором потоковой репликации PostgreSQL при доступе к этому узлу.
Значение по умолчанию: 'replicator'.
postgresql.username
Системный пользователь, от имени которого будет работать процесс postgres.
Значение по умолчанию: 'chef_pgsql'.

Настройки PostgreSQL, задаваемые в postgresql.conf

См. документацию PostgreSQL для получения подробной информации. Некоторые значения по умолчанию предоставляются:

postgresql.archive_command
Значение по умолчанию: ''.
postgresql.archive_mode
Значение по умолчанию: 'off'.
postgresql.archive_timeout
Значение по умолчанию: 0.
postgresql.checkpoint_completion_target
Значение по умолчанию: 0.5.
postgresql.checkpoint_timeout
Значение по умолчанию: '5min'.
postgresql.checkpoint_warning
Значение по умолчанию: '30s'.
postgresql.effective_cache_size
Автоматически рассчитывается на основе доступной памяти.
postgresql.hot_standby
Значение по умолчанию: 'on'.
postgresql.keepalives_count
Устанавливает tcp_keepalives_count.
Значение по умолчанию: 2.
postgresql.keepalives_idle
Устанавливает tcp_keepalives_idle.
Значение по умолчанию: 60.
postgresql.keepalives_interval
Устанавливает tcp_keepalives_interval.
Значение по умолчанию: 15.
postgresql.log_checkpoints
Значение по умолчанию: true.
postgresql.log_min_duration_statement
Значение по умолчанию: -1.
postgresql.max_connections
Значение по умолчанию: 350.
postgresql.max_replication_slots
Значение по умолчанию: 12.
postgresql.max_wal_senders
Значение по умолчанию: 12.
postgresql.max_wal_size
Значение по умолчанию: 64.
postgresql.min_wal_size
Значение по умолчанию: 5.
postgresql.port
Значение по умолчанию: 5432.
postgresql.shared_buffers
Автоматически рассчитывается на основе доступной памяти.
postgresql.wal_keep_segments
Значение по умолчанию: 32.
postgresql.wal_level
Значение по умолчанию: 'hot_standby'.
postgresql.wal_log_hints
Значение по умолчанию: on.
postgresql.work_mem
Значение по умолчанию: '8MB'.

Настройки etcd

etcd.client_port
Порт для использования ETCD_LISTEN_CLIENT_URLS и ETCD_ADVERTISE_CLIENT_URLS.
Значение по умолчанию: 2379.
etcd.peer_port
Порт для использования ETCD_LISTEN_PEER_URLS и ETCD_ADVERTISE_PEER_URLS.
Значение по умолчанию: 2380.

Следующие параметры относятся к протоколу консенсуса etcd. Chef Backend создаёт собственную систему выбора лидера на основе протокола консенсуса etcd. Обновление этих параметров может быть целесообразно, если вы наблюдаете частые события переключения в результате ложных таймаутов подключения etcd. Текущие значения по умолчанию предполагают среду с высокой задержкой, такую как та, которую вы можете найти при развертывании Chef Backend на различных облачных провайдерах.

etcd.heartbeat_interval
ETCD_HEARTBEAT_INTERVAL в миллисекундах. Это частота, с которой лидер отправляет сигналы сердечного ритма последователям. Документация etcd рекомендует устанавливать это значение примерно равным времени прохождения сигнала туда и обратно между членами.
Значение по умолчанию: 500, (100 по умолчанию до Chef Backend 1.2).
etcd.election_timeout
ETCD_ELECTION_TIMEOUT в миллисекундах. Это управляет тем, как долго узел etcd будет ожидать сигнал сердечного ритма перед запуском выборов. Согласно документации etcd, это значение должно быть в 5–10 раз больше, чем etcd.heartbeat_interval. Увеличение etcd.election_timeout увеличивает время, необходимое для etcd для обнаружения сбоя.
Значение по умолчанию: 5000, (1000 по умолчанию до Chef Backend 1.2).
etcd.snapshot_count
ETCD_SNAPSHOT_COUNT, количество подтверждённых транзакций для запуска снимка на диск.
Значение по умолчанию: 5000.
etcd.ionice.class
etcd должен иметь возможность записывать на диск с минимальной задержкой. Если ваш кластер не отвечает требованиям хранения, например, если вы используете Chef Backend на виртуальных машинах с общим диском, это значение следует изменить на «1» (режим реального времени), чтобы смягчить ненужные переключения при высокой задержке.
Значение по умолчанию: 2.
Новое в Chef Backend 2.2.
etcd.ionice.level
Это может быть изменено для дальнейшей настройки конкретных сред, если etcd.ionice.class изменено, но в подавляющем большинстве случаев его не следует изменять.
Значение по умолчанию: 0.
Новое в Chef Backend 2.2.

Примечание

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

Дополнительную информацию см. в документации etcd по настраиваемым параметрам.

Настройки JVM Elasticsearch

elasticsearch.heap_size
Автоматически вычисляется Elasticsearch на основе доступной памяти. Укажите в МБ, если хотите переопределить.
elasticsearch.java_opts
Флаги, которые необходимо напрямую передать JVM при запуске Elasticsearch. Если вы переопределите флаг кучи здесь, это значение будет иметь приоритет.
elasticsearch.new_size
Размер новой генерации кучи Java.

Конфигурация Elasticsearch

Дополнительную информацию см. в документации по настройкам Elasticsearch.

elasticsearch.plugins_directory
Устанавливает значение path.plugins.
Значение по умолчанию: '/var/opt/chef-backend/elasticsearch/plugins'.
elasticsearch.port
Устанавливает значение http.port.
Значение по умолчанию: 9200.
elasticsearch.scripts_directory
Устанавливает значение path.scripts.
Значение по умолчанию: '/var/opt/chef-backend/elasticsearch/scripts'.

Настройки службы управления лидером бэкенда Chef HA

leaderl.db_timeout
Таймаут сокета при подключении к PostgreSQL в миллисекундах.
Значение по умолчанию: 2000.
leaderl.http_acceptors
Потоки HTTP, отвечающие на запросы о мониторинге и статусе лидера от HAProxy.
Значение по умолчанию: 10.
leaderl.http_address
Адрес, на котором работает leaderl. Этот адрес не должен быть 127.0.0.1. Он должен быть доступен с любого переднего узла.
Значение по умолчанию: '0.0.0.0'.
leaderl.http_port
Значение по умолчанию: 7331.
leaderl.leader_ttl_seconds
Количество секунд, которое должно истечь у ключа лидера. Увеличение этого значения увеличит время, необходимое кластеру для распознавания сбоя лидера. Уменьшение этого значения может привести к частым изменениям лидера и нестабильности.
Значение по умолчанию: 30. (10 по умолчанию до Chef Backend 1.2).
leaderl.required_active_followers
Количество фолловеров, которые должны синхронизироваться через слот репликации PostgreSQL, прежде чем новый лидер вернёт 200 в ответ на HTTP-запросы /leader. Если существующий лидер не сможет поддерживать этот кворум фолловеров, конечная точка /leader вернёт 503, но активные подключения по-прежнему смогут завершить свои записи в базу данных.
Значение по умолчанию: 0.
leaderl.runsv_group
Группа, к которой будут принадлежать конфиденциальные файлы паролей. Используется внутри для тестирования и никогда не должна изменяться.
Значение по умолчанию: 'chef_pgsql'.
leaderl.status_internal_update_interval_seconds
Как часто (в секундах) мы проверяем изменение состояния службы лидера.
Значение по умолчанию: 5.
leaderl.status_post_update_interval_seconds
Как часто etcd обновляется с текущим состоянием службы лидера в секундах.
Значение по умолчанию: 10.
leaderl.username
Системный пользователь, под которым будет работать процесс leaderl. Обычно такой же, как postgresql.username.
Значение по умолчанию: 'chef_pgsql'.
leaderl.log_rotation.max_messages_per_second
Лимит скорости для количества сообщений, которые будет выводить Erlang error_logger.
Значение по умолчанию: 1000.
leaderl.etcd_pool.ibrowse_options
Внутренние параметры, влияющие на то, как создаются запросы к etcd (см. https://github.com/cmullaparthi/ibrowse/blob/master/doc/ibrowse.html).
leaderl.epmd_monitor.check_interval
Как часто проверять, что leaderl зарегистрирован в Erlang Port Mapping Daemon (epmd) в миллисекундах.
Значение по умолчанию: 60000.

Настройки статуса работоспособности лидера бэкенда Chef HA

leaderl.health_check.interval_seconds
Как часто (в секундах) проверять состояние службы на предмет работоспособности. Рекомендуется устанавливать это значение как минимум в 5 раз больше, чем значение leaderl.leader_ttl_seconds.
Значение по умолчанию: 5, (2 по умолчанию до версии Chef Backend 1.2).
leaderl.health_check.max_bytes_behind_leader
Ограничение максимальной разницы между избранным лидером и текущим узлом в байтах.
Значение по умолчанию: 52428800 (50 МБ).
leaderl.health_check.max_elasticsearch_failures
Количество допущенных сбоев API Elasticsearch, после чего проверка работоспособности завершается неудачно.
Значение по умолчанию: 5.
leaderl.health_check.max_etcd_failures
Количество допущенных сбоев etcd, после чего проверка работоспособности завершается неудачно.
Значение по умолчанию: 5.
leaderl.health_check.max_pgsql_failures
Количество допущенных сбоев соединения PostgreSQL, после чего проверка работоспособности завершается неудачно.
Значение по умолчанию: 5.
leaderl.health_check.fatal_system_checks
Будут ли сбои системных проверок (например, сбои пространства на диске) приводить к тому, что узел будет помечен как непригодный для лидерства.
Значение по умолчанию: false.
Новое в Chef Backend 1.4.
leaderl.health_check.disk_paths
Массив с путями, которые нужно проверять на достаточное пространство на диске.
Значение по умолчанию: [/var/log/chef-backend, /var/opt/chef-backend].
Новое в Chef Backend 1.4.
leaderl.health_check.disk_min_space_mb
Минимальный объём пространства на диске (в мегабайтах), необходимый для успешной проверки состояния диска.
Значение по умолчанию: 250.
Новое в Chef Backend 1.4.

Настройки пула подключений к лидеру бэкенда Chef HA

Подробности см. в https://github.com/seth/pooler/blob/master/README.org. Это внутренние настройки, которые влияют на отзывчивость, время работы и надёжность кластера бэкенда. Не следует изменять их, если это не рекомендовано службой поддержки.

leaderl.etcd_pool.cull_interval_seconds
Значение по умолчанию: 60.
leaderl.etcd_pool.http_timeout_ms
Значение по умолчанию: 5000.
leaderl.etcd_pool.init_count
Значение по умолчанию: 10.
leaderl.etcd_pool.max_age_seconds
Значение по умолчанию: 60.
leaderl.etcd_pool.max_connection_duration_seconds
Значение по умолчанию: 300.
leaderl.etcd_pool.max_count
Значение по умолчанию: 10.

Настройки SSL

Если certificate и certificate_key равны null, сертификат SSL будет автоматически сгенерирован с использованием других предоставленных параметров. В противном случае, это пути к файлам на диске с предоставленным пользователем сертификатом.

ssl.certificate
Укажите этот путь, если у вас есть предварительно сгенерированный сертификат SSL.
ssl.certificate_key
Укажите этот путь, если у вас есть предварительно сгенерированный сертификат SSL.
ssl.ciphers
Отсортированный список разрешённых шифров SSL. Он будет обновляться на основе соображений безопасности и версии OpenSSL, которая используется.
ssl.company_name
Название вашей организации.
ssl.country_name
Двухбуквенный код страны.
ssl.data_dir
Место хранения сертификатов.
Значение по умолчанию: '/var/opt/chef-backend/ssl/'.
ssl.duration
Срок действия сертификата в днях.
Значение по умолчанию: 3650 (10 лет).
ssl.key_length
Значение по умолчанию: 2048.
ssl.organizational_unit_name
Название подразделения в вашей организации.

chef-backend-ctl

Кластер HA бэкенда Chef Infra Server включает утилиту командной строки chef-backend-ctl. Эта утилита командной строки используется для управления кластером HA бэкенда Chef Infra Server, запуска и остановки отдельных служб и просмотра файлов журналов Chef Infra Server. Дополнительную информацию см. в документации chef-backend-ctl.

© 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/config_rb_backend/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API