Spec-Zone.ru › Chef 16

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

[редактировать на GitHub]

Параметры 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
Имя пользователя, используемое репликатором потоковой передачи postgres при доступе к этому узлу.
Значение по умолчанию: '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/config_rb_backend/

Spec-Zone.ru

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