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年创建。

关于项目

This role help generate ansible hosts for OKD installation

安装
ansible-galaxy install Jooho.okd_generate_ansible_hosts
许可证
bsd-3-clause
下载
120
拥有者