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