Jooho.okd_generate_ansible_hosts
Ansible角色:为OKD安装生成Ansible主机文件
此角色用于生成两个文件:ansible主机文件或okd_param_official文件
默认情况下,此角色期望存在okd_param文件,该文件指定OKD参数。此角色结合了okd_file和来自组hostvars的主机信息。
ansible主机文件用于OKD安装,而okd_param_official文件则根据OKD Git仓库的官方清单文件生成。
详细信息
- 生成名为/etc/ansible/hosts_{{cluster_tag}}和/etc/ansible/hosts的ansible主机文件
- 从官方清单生成okd_param_official文件
要求
无
角色变量
名称 | 默认值 | 必需 | 描述 |
---|---|---|---|
okd_param_name | okd_param | 否 | OKD参数文件名称 |
okd_official_param_name | okd_param_official | 否 | 从官方ansible主机文件转换而来的OKD官方参数文件名称 |
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的主机变量
示例剧本 - 为OKD生成ansible主机文件
前提条件:
- 在{{ okd_param_dir }}下必须存在okd_param文件
- 名称: 示例剧本
主机: localhost
任务:
- 导入角色:
名称: ansible-role-generate-ansible-hosts-okd
变量:
okd_param_dir: /home/jooho/test
cluster_tag: OKD0311
示例剧本 - 生成okd_param_official
前提条件:
- 在{{ okd_param_dir }}下必须存在{{ okd_official_ansible_hosts_name }}文件
- 名称: 示例剧本
主机: localhost
任务:
- 导入角色:
名称: ansible-role-generate-ansible-hosts-okd
变量:
okd_param_dir: /home/jooho/test
reformat_vars_to_hosts: false
测试剧本 - 为OKD生成ansible主机文件
在执行之前,请检查您当前使用的ansible主机文件中是否存在master/nodes组。 如果存在,请删除该组并执行。
- 名称: 示例剧本
主机: localhost
预任务:
- 名称: 创建测试okd_param
复制:
目标: /tmp/{{ okd_param_name }}
内容: >
openshift_release: 3.11
- 名称: 添加组 - masters
添加主机:
名称: master1
组: masters
openshift_node_group_name: master-group-test
- 名称: 添加组 - nodes
添加主机:
名称: node1
组: nodes
openshift_node_group_name: node-group-test
任务:
- 导入角色:
名称: ansible-role-okd-generate-ansible-hosts
变量:
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
在执行之前,请检查您当前使用的ansible主机文件中是否存在master/nodes组。 如果存在,请删除该组并执行。
- 名称: 示例剧本
主机: localhost
预任务:
- 名称: 创建测试okd_param
复制:
目标: /tmp/{{ okd_param_name }}
内容: >
openshift_release=3.11
- 名称: 添加组 - masters
添加主机:
名称: master1
组: masters
openshift_node_group_name: master-group-test
- 名称: 添加组 - nodes
添加主机:
名称: node1
组: nodes
openshift_node_group_name: node-group-test
任务:
- 导入角色:
名称: ansible-role-okd-generate-ansible-hosts
变量:
okd_param_dir: /tmp
reformat_vars_to_hosts: false
检查 - /tmp/okd_param_official
预期结果:
openshift_release: 3.11
许可证
BSD/MIT
作者信息
此角色由Jooho Lee于2018年创建。