4.3. cephadm_bootstrap 및 cephadm_registry_login 모듈을 사용하여 스토리지 클러스터 부트스트랩
스토리지 관리자는 Ansible 플레이북에서 cephadm_bootstrap 및 cephadm_registry_login 모듈을 사용하여 Ansible을 사용하여 스토리지 클러스터를 부트스트랩할 수 있습니다.
사전 요구 사항
- 첫 번째 Ceph Monitor 컨테이너의 IP 주소이며, 이는 스토리지 클러스터의 첫 번째 노드의 IP 주소이기도 합니다.
-
registry.redhat.io에 대한 로그인 액세스 -
/var/lib/containers/용으로 최소 10GB의 여유 공간이 필요 - Red Hat Ceph Storage 8.0의 경우 Red Hat Enterprise Linux 9.4, 9.5 또는 9.6은 AppStream에 번들로 번들로 제공됩니다. Red Hat Ceph Storage 8.1의 경우 Red Hat Enterprise Linux 8.1, 9.5 또는 9.6은 AppStream에 번들로 번들로 제공됩니다.
-
Ansible 관리 노드에
cephadm-ansible패키지를 설치합니다. - 암호 없는 SSH는 스토리지 클러스터의 모든 호스트에 설정됩니다.
- 호스트는 CDN에 등록됩니다.
프로세스
- Ansible 관리 노드에 로그인합니다.
Ansible 관리 노드의
/usr/share/cephadm-ansible디렉터리로 이동합니다.예제
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansiblehosts파일을 생성하고 스토리지 클러스터에서 첫 번째 호스트의 호스트, 레이블 및 모니터링 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']"preflight 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"클러스터를 부트스트랩할 플레이북을 생성합니다.
구문
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/28Playbook을 실행합니다.
구문
ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml -vvv예제
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts bootstrap.yml -vvv
검증
- 플레이북을 실행한 후 Ansible 출력을 검토합니다.