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.
ansible-galaxy install Jooho/ansible-playbook-okd-generate-ansible-hosts