17.3. cephadm_bootstrap 및 cephadm_registry_login 모듈을 사용하여 스토리지 클러스터 부트스트랩


스토리지 관리자는 Ansible 플레이북에서 cephadm_bootstrapcephadm_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에 등록됩니다.

프로세스

  1. Ansible 관리 노드에 로그인합니다.
  2. Ansible 관리 노드의 /usr/share/cephadm-ansible 디렉터리로 이동합니다.

    예제

    [ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible

  3. 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']"

  4. 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"

  5. 클러스터를 부트스트랩할 플레이북을 생성합니다.

    구문

    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

  6. Playbook을 실행합니다.

    구문

    ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml -vvv

    예제

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts bootstrap.yml -vvv

검증

  • 플레이북을 실행한 후 Ansible 출력을 검토합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.