2.4. Ceph 클라이언트 인증 구성
Ceph 클라이언트에 대한 인증을 구성하여 Red Hat OpenStack Platform에 액세스할 수 있습니다.
사전 요구 사항
- Ceph Monitor 호스트에 대한 루트 수준 액세스.
- 실행 중인 Red Hat Ceph Storage 클러스터.
프로세스
Ceph Monitor 호스트에서 Cinder, Cinder Backup 및 Glance에 사용할 새 사용자를 만듭니다.
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' ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups' ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
[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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow client.cinder ,
및client.cinder-backupclient.glance의 인증 키를 적절한 노드에 추가하고 소유권을 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Nova 노드에는
nova-compute프로세스의 인증 키가 필요합니다.ceph auth get-or-create client.cinder | ssh NOVA_NODE tee /etc/ceph/ceph.client.cinder.keyring
[root@mon ~]# ceph auth get-or-create client.cinder | ssh NOVA_NODE tee /etc/ceph/ceph.client.cinder.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Nova 노드도
libvirt에client.cinder사용자의 시크릿 키를 저장해야 합니다.libvirt프로세스에는 Cinder에서 블록 장치를 연결하는 동안 클러스터에 액세스하려면 시크릿 키가 필요합니다. OpenStack Nova 노드에 시크릿 키의 임시 사본을 생성합니다.ceph auth get-key client.cinder | ssh NOVA_NODE tee client.cinder.key
[root@mon ~]# ceph auth get-key client.cinder | ssh NOVA_NODE tee client.cinder.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에
exclusive-lock기능을 사용하는 Ceph 블록 장치 이미지가 포함된 경우 모든 Ceph 블록 장치 사용자에게 클라이언트를 차단할 수 있는 권한이 있는지 확인합니다.ceph auth caps client.ID mon 'allow r, allow command "osd blacklist"' osd 'EXISTING_OSD_USER_CAPS'
[root@mon ~]# ceph auth caps client.ID mon 'allow r, allow command "osd blacklist"' osd 'EXISTING_OSD_USER_CAPS'Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Nova 호스트로 돌아갑니다.
ssh NOVA_NODE
[root@mon ~]# ssh NOVA_NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿의 UUID를 생성하고 나중에
nova-compute를 구성하기 위해 시크릿의 UUID를 저장합니다.uuidgen > uuid-secret.txt
[root@nova ~]# uuidgen > uuid-secret.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고모든 Nova 계산 노드에 UUID가 필요하지는 않습니다. 그러나 플랫폼 일관성 관점에서는 동일한 UUID를 유지하는 것이 좋습니다.
OpenStack Nova 노드에서 secret 키를
libvirt에 추가하고 키의 임시 사본을 제거합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow libvirt에 대한 시크릿을 설정하고 정의합니다.virsh secret-define --file secret.xml virsh secret-set-value --secret $(cat uuid-secret.txt) --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
[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.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow