Spec-Zone.ru › Chef 18

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

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

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

Бэкенд Chef Backend устарел и больше не находится в активной разработке. Обратитесь к вашему представителю по счетам Chef для получения информации о миграции на Chef Automate HA.

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

Параметры 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