1.4. 컨테이너에 Ceph Object Gateway 설치
ceph-ansible
플레이북과 함께 Ansible 애플리케이션을 사용하여 컨테이너에 Ceph Object Gateway를 설치합니다.
사전 요구 사항
- 작동 중인 Red Hat Ceph Storage 클러스터.
절차
별도로 지정하지 않는 한 Ansible 관리 노드에서 다음 명령을 실행합니다.
root
사용자로/usr/share/ceph-ansible/
디렉터리로 이동합니다.[root@admin ~]# cd /usr/share/ceph-ansible/
group_vars/all.yml
파일의radosgw_interface
매개변수의 주석을 제거합니다.radosgw_interface: interface
Ceph Object Gateway 노드가 수신 대기하는 인터페이스로 인터페이스를 바꿉니다.
선택 사항: 기본 변수를 변경합니다.
group_vars
디렉터리에 있는rgws.yml.sample
파일의 새 사본을 생성합니다.[root@admin ceph-ansible]# cp group_vars/rgws.yml.sample group_vars/rgws.yml
-
group_vars/rgws.yml
파일을 편집합니다. 자세한 내용은rgws.yml
파일을 참조하십시오.
기본적으로
/etc/ansible/hosts
에 있는 Ansible 인벤토리 파일의[rgws]
섹션에 Ceph Object Gateway 노드의 호스트 이름을 추가합니다.[rgws] gateway01
또는
[osds]
및[rgws]
섹션에 동일한 노드를 추가하여 하나의 노드에서 OSD 데몬과 Ceph Object Gateway를 배치할 수 있습니다. 자세한 내용은 컨테이너화된 Ceph 데몬 공동 배치를 참조하십시오.Ansible 사용자로
ceph-ansible
플레이북을 실행합니다.[user@admin ceph-ansible]$ ansible-playbook site-docker.yml --limit rgws
참고Red Hat Ceph Storage를 Red Hat Enterprise Linux Atomic Host 호스트에 배포하는 경우
--skip-tags=with_pkg
옵션을 사용합니다.[user@admin ceph-ansible]$ ansible-playbook site-docker.yml --skip-tags=with_pkg
Ceph Object Gateway 노드가 성공적으로 배포되었는지 확인합니다.
root
사용자로 모니터 노드에 연결합니다.ssh hostname
hostname 을 Monitor 노드의 호스트 이름으로 교체합니다. 예를 들면 다음과 같습니다.
[user@admin ~]$ ssh root@monitor
Ceph Object Gateway 풀이 올바르게 생성되었는지 확인합니다.
[root@monitor ~]# docker exec ceph-mon-mon1 rados lspools rbd cephfs_data cephfs_metadata .rgw.root default.rgw.control default.rgw.data.root default.rgw.gc default.rgw.log default.rgw.users.uid
Ceph 클러스터와 동일한 네트워크의 모든 클라이언트에서(예: Monitor 노드)에서 Ceph Object Gateway 호스트의 IP 주소를 사용하여 포트 8080에 HTTP 요청을 보냅니다.
curl http://IP-address:8080
IP-address 를 Ceph Object Gateway 노드의 IP 주소로 바꿉니다. Ceph Object Gateway 호스트의 IP 주소를 확인하려면
ifconfig
또는ip
명령을 사용합니다.[root@client ~]# curl http://192.168.122.199:8080 <?xml version="1.0" encoding="UTF-8"?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>anonymous</ID><DisplayName></DisplayName></Owner><Buckets></Buckets></ListAllMyBucketsResult>
버킷 나열:
[root@monitor ~]# docker exec ceph-mon-mon1 radosgw-admin bucket list