Jooho.okd_generate_ansible_hosts
Ansibleの役割: OKDインストール用のAnsibleホストファイルの生成
この役割は、2つのファイルを生成します: Ansibleホストファイルとokd_param_officialファイルです。
デフォルトでは、この役割はOKDパラメータを指定するokd_paramファイルが存在することを期待しています。この役割は、okd_fileとグループhostvarsからのホスト情報を組み合わせます。
AnsibleホストファイルはOKDインストール用で、okd_param_officialファイルはOKDの公式インベントリファイルに基づいて生成されます。
詳細
- /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 | いいえ | okd_param_dirに保存される公式Ansibleホストファイルの名前 |
cluster_tag | 定義されていない | はい | バックアップ用にタグを指定する必要があります(例: OKD0311) |
reformat_vars_to_hosts | true | いいえ | 公式ホストファイルを変数スタイルに変換したい場合はfalseに設定します |
依存関係
なし
共通の前提条件
- masters/nodes/lbグループが存在する必要があります
- 各ノードはOKD 3.10からのhostvarとしてopenshift_node_group_nameを持っている必要があります
例のプレイブック - OKD用のAnsibleホストファイル生成
前提条件:
- {{ okd_param_dir }}の下にokd_paramファイルが存在する必要があります
- 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_param_dir }}の下に{{ okd_official_ansible_hosts_name }}ファイルが存在する必要があります
- 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
テストプレイブック - OKD用のAnsibleホストファイル生成
実行する前に、現在使用しているAnsibleホストファイルにmasters/nodesグループがあることを確認してください。 ある場合は、それを削除してから実行してください。
- name: 例のプレイブック
hosts: localhost
pre_tasks:
- name: テストokd_param作成
copy:
dest: /tmp/{{ okd_param_name }}
content: >
openshift_release: 3.11
- name: グループを追加 - masters
add_host:
name: master1
groups: masters
openshift_node_group_name: master-group-test
- name: グループを追加 - nodes
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生成
実行する前に、現在使用しているAnsibleホストファイルにmasters/nodesグループがあることを確認してください。 ある場合は、それを削除してから実行してください。
- name: 例のプレイブック
hosts: localhost
pre_tasks:
- name: テストokd_param作成
copy:
dest: /tmp/{{ okd_param_name }}
content: >
openshift_release=3.11
- name: グループを追加 - masters
add_host:
name: master1
groups: masters
openshift_node_group_name: master-group-test
- name: グループを追加 - nodes
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によって作成されました。