2.4. Ceph クライアント認証の設定
Ceph クライアントが Red Hat OpenStack Platform にアクセスするように認証を設定することができます。
前提条件
- Ceph Monitor ホストへの root レベルのアクセス。
- 稼働中の 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-backup
、およびclient.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.keyring
OpenStack Nova ノードは、
libvirt
にclient.cinder
ユーザーの秘密鍵を保存する必要もあります。libvirt
プロセスでは、Cinder からブロックデバイスを接続する際にクラスターにアクセスするために秘密鍵が必要です。OpenStack Nova ノードに秘密鍵の一時的なコピーを作成します。[root@mon ~]# ceph auth get-key client.cinder | ssh NOVA_NODE tee client.cinder.key
exclusive-lock
機能を使用する 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> EOF
libvirt
のシークレットを設定して定義します。[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 ユーザーの管理 セクションを参照してください。
- ユーザー機能に関する詳細は、Red Hat OpenStack Platform の Integrating an Overcloud with an Existing Red Hat Ceph Cluster Guide の Configuring the existing ceph storage cluster を参照してください。