okd_generate_ansible_hosts

Ansible Роль: Генерация файла хостов Ansible для установки OKD

Эта роль помогает сгенерировать 2 файла: файл хостов Ansible или файл okd_param_official.

По умолчанию эта роль ожидает, что существует файл okd_param, который указывает параметры OKD. Эта роль комбинирует файл okd и информацию о хостах из группы hostvars.

Файл хостов Ansible предназначен для установки OKD, а файл okd_param_official создается на основе официального инвентарного файла репозитория OKD на Git.

Подробности

  • Генерация файла хостов Ansible с именем /etc/ansible/hosts_{{cluster_tag}} и /etc/ansible/hosts.
  • Генерация файла okd_param_official из официального инвентаря.

Требования

Нет

Переменные роли

Название Значение по умолчанию Требуется Описание
okd_param_name okd_param нет Имя файла парметров OKD
okd_official_param_name okd_param_official нет Имя официального файла параметров OKD, который преобразован из официального файла хостов Ansible
okd_param_dir неопределено да Путь к директории, где находится файл параметров OKD
okd_official_ansible_hosts_name okd_official_hosts нет Имя официального файла хостов Ansible. Он будет сохранён в okd_param_dir
cluster_tag неопределено да Для резервного копирования, необходимо указать тег (например, OKD0311)
reformat_vars_to_hosts true нет Установите false, если хотите преобразовать официальный файл хостов в стиль переменных

Зависимости

Нет

Общие предварительные условия

  • Группа masters/nodes/lb должна существовать
  • Каждый узел должен иметь openshift_node_group_name как переменную хоста из OKD 3.10

Пример плейбука - Генерация файла хостов Ansible для OKD

Предварительные условия:

  • Должен существовать файл okd_param в директории {{ okd_param_dir }}
- name: Пример плейбука
  hosts: localhost
  tasks:
    - import_role:
        name: ansible-role-generate-ansible-hosts-okd
      vars:
        okd_param_dir: /home/jooho/test
        cluster_tag: OKD0311

Пример плейбука - Генерация okd_param_official

Предварительные условия:

  • Должен существовать файл {{ okd_official_ansible_hosts_name }} в директории {{ okd_param_dir }}
- name: Пример плейбука
  hosts: localhost
  tasks:
    - import_role:
        name: ansible-role-generate-ansible-hosts-okd
      vars:
        okd_param_dir: /home/jooho/test
        reformat_vars_to_hosts: false

Тестовый плейбук - Генерация файла хостов Ansible для OKD

Перед выполнением этого проверьте, есть ли группа master/nodes в используемом вами файле хостов Ansible. Если да, то удалите её и выполните плейбук.

- name: Пример плейбука
  hosts: localhost
  pre_tasks:
    - name: создать тестовый okd_param
      copy:
        dest: /tmp/{{ okd_param_name }}
        content: >
          openshift_release: 3.11

    - name: добавить группу - мастера
      add_host:
        name: master1
        groups: masters
        openshift_node_group_name: master-group-test

    - name: добавить группу - узлы
      add_host:
        name: node1
        groups: nodes
        openshift_node_group_name: node-group-test
  tasks:
    - import_role:
        name: ansible-role-okd-generate-ansible-hosts
      vars:
        okd_param_dir: /tmp
        cluster_tag: OKD0311

Проверка - /etc/ansible/hosts_OKD0311 Ожидаемый результат:

[OSEv3:children]
masters
etcd
nodes


[OSEv3:vars]
openshift_release=3.11



[masters]
master1

[etcd]
master1

[nodes]
node1   openshift_node_group_name='node-group-test'

Тестовый плейбук - Генерация okd_param_official

Перед выполнением этого проверьте, есть ли группа master/nodes в используемом вами файле хостов Ansible. Если да, то удалите её и выполните плейбук.

- name: Пример плейбука
  hosts: localhost
  pre_tasks:
    - name: создать тестовый okd_param
      copy:
        dest: /tmp/{{ okd_param_name }}
        content: >
          openshift_release=3.11

    - name: добавить группу - мастера
      add_host:
        name: master1
        groups: masters
        openshift_node_group_name: master-group-test

    - name: добавить группу - узлы
      add_host:
        name: node1
        groups: nodes
        openshift_node_group_name: node-group-test
  tasks:
    - import_role:
        name: ansible-role-okd-generate-ansible-hosts
      vars:
        okd_param_dir: /tmp
        reformat_vars_to_hosts: false

Проверка - /tmp/okd_param_official

Ожидаемый результат:

openshift_release: 3.11

Лицензия

BSD/MIT

Информация об авторе

Эта роль была создана в 2018 году Jooho Lee.

О проекте

This role help generate ansible hosts for OKD installation

Установить
ansible-galaxy install Jooho/ansible-playbook-okd-generate-ansible-hosts
Лицензия
bsd-3-clause
Загрузки
109
Владелец