4.3. cephadm_bootstrap および cephadm_registry_login モジュールを使用したストレージクラスターのブートストラップ
ストレージ管理者は、Ansible Playbook で cephadm_bootstrap
および cephadm_registry_login
モジュールを使用して、Ansible を使用してストレージクラスターをブートストラップできます。
前提条件
- 最初の Ceph Monitor コンテナーの IP アドレス。これはストレージクラスターの最初のノードの IP アドレスでもあります。
-
registry.redhat.io
へのログインアクセス。 -
少なくとも 10 GB の空き容量がある
/var/lib/containers/
。 -
Ansible-core
が AppStream にバンドルされている Red Hat Enterprise Linux 9.0 以降。 -
Ansible 管理ノードへの
cephadm-ansible
パッケージのインストール。 - パスワードなしの SSH がストレージクラスター内のすべてのホストに設定されます。
- ホストは CDN に登録されます。
ブートストラップノードでサポートされている最新の Red Hat Enterprise Linux バージョンについては、Red Hat Ceph Storage 互換性ガイド を参照してください。
手順
- Ansible 管理ノードにログインします。
Ansible 管理ノードの
/usr/share/cephadm-ansible
ディレクトリーに移動します。例
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
hosts
ファイルを作成し、ホスト、ラベルを追加し、ストレージクラスター内の最初のホストの IP アドレスを監視します。構文
sudo vi INVENTORY_FILE HOST1 labels="['LABEL1', 'LABEL2']" HOST2 labels="['LABEL1', 'LABEL2']" HOST3 labels="['LABEL1']" [admin] ADMIN_HOST monitor_address=MONITOR_IP_ADDRESS labels="['ADMIN_LABEL', 'LABEL1', 'LABEL2']"
例
[ceph-admin@admin cephadm-ansible]$ sudo vi hosts host02 labels="['mon', 'mgr']" host03 labels="['mon', 'mgr']" host04 labels="['osd']" host05 labels="['osd']" host06 labels="['osd']" [admin] host01 monitor_address=10.10.128.68 labels="['_admin', 'mon', 'mgr']"
プリフライト Playbook を実行します。
構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
クラスターをブートストラップする Playbook を作成します。
構文
sudo vi PLAYBOOK_FILENAME.yml --- - name: NAME_OF_PLAY hosts: BOOTSTRAP_HOST become: USE_ELEVATED_PRIVILEGES gather_facts: GATHER_FACTS_ABOUT_REMOTE_HOSTS tasks: -name: NAME_OF_TASK cephadm_registry_login: state: STATE registry_url: REGISTRY_URL registry_username: REGISTRY_USER_NAME registry_password: REGISTRY_PASSWORD - name: NAME_OF_TASK cephadm_bootstrap: mon_ip: "{{ monitor_address }}" dashboard_user: DASHBOARD_USER dashboard_password: DASHBOARD_PASSWORD allow_fqdn_hostname: ALLOW_FQDN_HOSTNAME cluster_network: NETWORK_CIDR
例
[ceph-admin@admin cephadm-ansible]$ sudo vi bootstrap.yml --- - name: bootstrap the cluster hosts: host01 become: true gather_facts: false tasks: - name: login to registry cephadm_registry_login: state: login registry_url: registry.redhat.io registry_username: user1 registry_password: mypassword1 - name: bootstrap initial cluster cephadm_bootstrap: mon_ip: "{{ monitor_address }}" dashboard_user: mydashboarduser dashboard_password: mydashboardpassword allow_fqdn_hostname: true cluster_network: 10.10.128.0/28
Playbook を実行します。
構文
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml -vvv
例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts bootstrap.yml -vvv
検証
- Playbook を実行した後、Ansible の出力を確認します。