3.10.7. 非接続インストールのためのプリフライト Playbook の実行
cephadm-preflight.yml Ansible Playbook を使用して、Ceph リポジトリーを設定し、ブートストラップ用にストレージクラスターを準備します。また、podman、lvm2、chrony、および cephadm などのいくつかの前提条件もインストールします。
プリフライト Playbook は cephadm-ansible インベントリーの hosts ファイルを使用して、ストレージクラスターのすべてのノードを識別します。cephadm-ansible、cephadm-preflight.yml、およびインベントリー hosts ファイルのデフォルトの場所は /usr/share/cephadm-ansible/ です。
以下の例は、一般的なインベントリーファイルの構造を示しています。
例
host02
host03
host04
[admin]
host01
インベントリーファイルの [admin] グループには、管理者キーリングが保存されるノードの名前が含まれます。
初期ホストをブートストラップする前に、プリフライト Playbook を実行します。
前提条件
-
cephadm-ansibleパッケージが Ansible 管理ノードにインストールされている。 - ストレージクラスター内のすべてのノードへの root レベルのアクセス。
-
パスワードなしの
sshがストレージクラスター内のすべてのホストに設定されます。 以下のリポジトリーが有効なローカルの YUM リポジトリーサーバーにアクセスするように設定されているノード。
- rhel-9-for-x86_64-baseos-rpms
- rhel-9-for-x86_64-appstream-rpms
- rhceph-8-tools-for-rhel-9-x86_64-rpms
ローカル YUM リポジトリーの設定の詳細は、ナレッジベースの記事 Creating a Local Repository and Sharing with Disconnected/Offline/Air-gapped Systems を参照してください。
手順
-
Ansible 管理ノードの
/usr/share/cephadm-ansibleディレクトリーに移動します。 -
hostsファイルを開いて編集し、ノードを追加します。 ローカルの YUM リポジトリーを使用するために
ceph_originパラメーターをcustomに設定してプリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL"例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/"インストールが完了すると、
cephadmは/usr/sbin/ディレクトリーに配置されます。注記registries.confファイルの内容に Ansible Playbook を取り込みます。構文
ansible-playbook -vvv -i INVENTORY_HOST_FILE_ cephadm-set-container-insecure-registries.yml -e insecure_registry=REGISTRY_URL例
[root@admin ~]# ansible-playbook -vvv -i hosts cephadm-set-container-insecure-registries.yml -e insecure_registry=host01:5050あるいは、
--limitオプションを使用して、ストレージクラスターの選択したホストでプリフライト Playbook を実行することができます。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL" --limit GROUP_NAME|NODE_NAMEGROUP_NAME は、インベントリーファイルからのグループ名に置き換えます。NODE_NAME は、インベントリーファイルからの特定のノード名に置き換えます。
例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit host02注記プリフライト Playbook を実行すると、
cephadm-ansibleは自動的にクライアントノードにchronyおよびceph-commonをインストールします。