3.5. Ansible インベントリー場所の設定
cephadm-ansible
ステージングおよび実稼働環境のインベントリー場所ファイルを設定できます。Ansible インベントリーホストファイルには、ストレージクラスターの一部であるすべてのホストが含まれます。インベントリーホストファイルで個別にノードをリスト表示することも、[mons]
、[osds]
、[rgws]
などのグループを作成して、インベントリーを明確にし、Playbook の実行時にグループまたはノードをターゲットにするための --limit
オプションの使用を排除することもできます。
クライアントをデプロイする場合は、専用の [clients]
グループにクライアントノードを定義する必要があります。
前提条件
- Ansible 管理ノード。
- Ansible 管理ノードへの root レベルのアクセス。
-
cephadm-ansible
パッケージがノードにインストールされている。
手順
/usr/share/cephadm-ansible
ディレクトリーに移動します。[root@admin ~]# cd /usr/share/cephadm-ansible
必要に応じて、ステージングおよび実稼働環境用のサブディレクトリーを作成します。
[root@admin cephadm-ansible]# mkdir -p inventory/staging inventory/production
必要に応じて、
ansible.cfg
ファイルを編集し、以下の行を追加してデフォルトのインベントリーの場所を割り当てます。[defaults] inventory = ./inventory/staging
必要に応じて、各環境の インベントリー
hosts
ファイルを作成します。[root@admin cephadm-ansible]# touch inventory/staging/hosts [root@admin cephadm-ansible]# touch inventory/production/hosts
各
hosts
ファイルを開いて編集し、ノードおよび[admin]
グループを追加します。NODE_NAME_1 NODE_NAME_2 [admin] ADMIN_NODE_NAME_1
- NODE_NAME_1 および NODE_NAME_2 を、モニター、OSD、MDS、ゲートウェイノードなどの Ceph ノードに置き換えます。
ADMIN_NODE_NAME_1 は、管理キーリングが保存されるノードの名前に置き換えます。
例
host02 host03 host04 [admin] host01
注記ansible.cfg
ファイルのインベントリーの場所を staging に設定する場合は、以下のようにステージング環境で Playbook を実行する必要があります。構文
ansible-playbook -i inventory/staging/hosts PLAYBOOK.yml
実稼働環境で Playbook を実行するには、以下を実行します。
構文
ansible-playbook -i inventory/production/hosts PLAYBOOK.yml