2.4. Ceph 클라이언트 인증 구성
Red Hat OpenStack Platform에 액세스하도록 Ceph 클라이언트에 대한 인증을 구성할 수 있습니다.
사전 요구 사항
- Ceph Monitor 호스트에 대한 루트 수준 액세스.
- 실행 중인 Red Hat Ceph Storage 클러스터.
절차
Ceph Monitor 호스트에서 Cinder, Cinder Backup 및 Glance에 사용할 새 사용자를 만듭니다.
[root@mon ~]# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images' [root@mon ~]# ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups' [root@mon ~]# ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
client.cinder ,
및client.cinder-backupclient.glance의 인증 키를 적절한 노드에 추가하고 소유권을 변경합니다.[root@mon ~]# ceph auth get-or-create client.cinder | ssh CINDER_VOLUME_NODE sudo tee /etc/ceph/ceph.client.cinder.keyring [root@mon ~]# ssh CINDER_VOLUME_NODE chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring [root@mon ~]# ceph auth get-or-create client.cinder-backup | ssh CINDER_BACKUP_NODE tee /etc/ceph/ceph.client.cinder-backup.keyring [root@mon ~]# ssh CINDER_BACKUP_NODE chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring [root@mon ~]# ceph auth get-or-create client.glance | ssh GLANCE_API_NODE sudo tee /etc/ceph/ceph.client.glance.keyring [root@mon ~]# ssh GLANCE_API_NODE chown glance:glance /etc/ceph/ceph.client.glance.keyring
OpenStack Nova 노드에는
nova-compute프로세스의 키링 파일이 필요합니다.[root@mon ~]# ceph auth get-or-create client.cinder | ssh NOVA_NODE tee /etc/ceph/ceph.client.cinder.keyringOpenStack Nova 노드에서도
client.cinder사용자의 시크릿 키를libvirt에 저장해야 합니다. Cinder에서 블록 장치를 연결하는 동안libvirt프로세스에 클러스터에 액세스하려면 시크릿 키가 필요합니다. OpenStack Nova 노드에 시크릿 키의 임시 사본을 만듭니다.[root@mon ~]# ceph auth get-key client.cinder | ssh NOVA_NODE tee client.cinder.key스토리지 클러스터에
전용 잠금기능을 사용하는 Ceph 블록 장치 이미지가 포함된 경우 모든 Ceph 블록 장치 사용자에게 클라이언트를 차단할 수 있는 권한이 있는지 확인합니다.[root@mon ~]# ceph auth caps client.ID mon 'allow r, allow command "osd blacklist"' osd 'EXISTING_OSD_USER_CAPS'
OpenStack Nova 호스트로 돌아갑니다.
[root@mon ~]# ssh NOVA_NODE시크릿의 UUID를 생성하고 나중에
nova-compute를 구성하기 위해 시크릿의 UUID를 저장합니다.[root@nova ~]# uuidgen > uuid-secret.txt
참고모든 Nova 컴퓨팅 노드에 UUID가 필요하지는 않습니다. 그러나 플랫폼 일관성 관점에서 동일한 UUID를 유지하는 것이 좋습니다.
OpenStack Nova 노드에서
libvirt에 시크릿 키를 추가하고 키의 임시 사본을 제거합니다.cat > secret.xml <<EOF <secret ephemeral='no' private='no'> <uuid>`cat uuid-secret.txt`</uuid> <usage type='ceph'> <name>client.cinder secret</name> </usage> </secret> EOFlibvirt시크릿을 설정하고 정의합니다.[root@nova ~]# virsh secret-define --file secret.xml [root@nova ~]# virsh secret-set-value --secret $(cat uuid-secret.txt) --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 Ceph 사용자 관리 섹션을 참조하십시오.
- 사용자 기능에 대한 자세한 내용은 Integrating an Overcloud with an Existing Red Hat Ceph Cluster Guide for Red Hat OpenStack Platform의 기존 ceph 스토리지 클러스터 구성 섹션을 참조하십시오.