Spec-Zone.ru › MariaDB

Система конфигурации Puppet hiera

hiera является частью Puppet. Это иерархическая система конфигурации, которая позволяет:

  • хранить конфигурацию в отдельных файлах;
  • включать соответствующие файлы конфигурации для каждого сервера, который мы автоматизируем с помощью Puppet.

Файлы конфигурации hiera

Каждая иерархия позволяет выбрать соответствующий файл конфигурации для ресурса на основе определенных критериев. Например, критериями могут быть имена узлов, группы узлов, операционные системы или дата-центры. Иерархии определяются в файле hiera.yaml, который также определяет путь к файлам в каждой иерархии.

Факты Puppet часто используются для выбора подходящих файлов. Например, путь может быть определен как "os/%{facts.os.name}.yaml". В этом случае каждый ресурс будет использовать файл, названный в соответствии с операционной системой, которую он использует, в каталоге os. Возможно, вам потребуется использовать пользовательские факты, например, для проверки того, какие микросервисы будут использовать сервер MariaDB или в каком дата-центре он работает.

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

Файл конфигурации hiera будет выглядеть так:

version: 5
defaults:
  datadir: global
  data_hash: yaml_data

hierarchy:
  - name: "Node data"
    path: "nodes/%{trusted.certname}.yaml"

  - name: "OS data"
    path: "os/%{facts.os.family}.yaml"

  - name: "Per-datacenter business group data" # Uses custom facts.
    path: "location/%{facts.whereami}/%{facts.group}.yaml"

Этот файл будет включать глобальные файлы, файлы, специфичные для ОС, и узловые файлы. Каждая иерархия будет переопределять настройки из предыдущих иерархий.

Фактически, у нас может быть несколько файлов конфигурации hiera. hiera.yaml — это глобальный файл. Но обычно у нас будут дополнительные файлы конфигурации hiera для каждой среды. Таким образом, мы можем включать файлы конфигурации, которые применяются к производственной, тестовой среде и т. д., плюс глобальные файлы конфигурации, которые должны быть включены для каждой среды.

Важно, что мы также можем иметь файлы конфигурации hiera для каждого модуля. Например, отдельный mariadb/hiera.yaml файл может определять иерархии для серверов MariaDB. Это позволяет определить, например, разные файлы конфигурации для MariaDB и MaxScale, так как большинство необходимых настроек обычно отличаются.

Файлы конфигурации

Вы, вероятно, заметили, что в предыдущем примере мы определили data_hash: yaml_data, что указывает на то, что файлы конфигурации написаны в формате YAML. Другие разрешенные форматы — JSON и HOCON. Настройка data_hash определена в defaults, но может быть переопределена иерархиями.


Содержание, первоначально предоставленное Vettabase Ltd.

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

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/puppet-hiera-configuration-system/

Spec-Zone.ru

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