基于kolla-ansible部署的openstack外接ceph

连接ceph

openstack连接ceph主要是三个组件:glance,cinder,nova

1 使用外接ceph意味着不需要通过kolla去部署ceph,因此需要在全局配置中关闭ceph组件;

vi /etc/kolla/globals.yml

enable_ceph: “no
glance_backend_ceph: "yes"
cinder_backend_ceph: "yes"
nova_backend_ceph: "yes"

2 创建ceph存储池并初始化

ceph osd pool create volumes 128

ceph osd pool create images 128

ceph osd pool create compute 128

#初始化
rbd pool init volumes

rbd pool init images

rbd pool init compute

3 创建ceph用户

创建glance用户及权限

ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images' -o /etc/ceph/ceph.client.glance.keyring

创建cinder用户及权限

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' -o /etc/ceph/ceph.client.cinder.keyring

创建nova用户及权限

ceph auth get-or-create client.nova mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms ,allow rx pool=images' -o /etc/ceph/ceph.client.nova.keyring

4 配置rbd后端

在/etc/kolla下新建目录如下:

/etc/kolla/config/glance

/etc/kolla/config/cinder

/etc/kolla/config/nova

glance

# 为glance-api.conf配置RBD后端
vi /etc/kolla/config/glance/glance-api.conf

[glance_store]
stores = rbd
default_store = rbd
rbd_store_pool = images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf

cinder

# 配置cinder-volume.conf
vi /etc/kolla/config/cinder/cinder-volume.conf

[DEFAULT]
enabled_backends = ceph

[ceph]
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = cinder
rbd_pool = volumes
volume_backend_name = ceph
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_secret_uuid = [96c625f8-9179-48fc-80b7-545aac434d10]
glance_api_version = 2

nova

# 配置nova-compute.conf
vi /etc/kolla/config/nova/nova-compute.conf

[libvirt]
images_rbd_pool = vms
images_type = rbd
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = nova
rbd_secret_uuid = [96c625f8-9179-48fc-80b7-545aac434d10]

创建nova用户及权限

ceph auth get-or-create client.nova mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms ,allow rx pool=images' -o /etc/ceph/ceph.client.nova.keyring

5 拷贝ceph的配置文件

cp /etc/ceph/ceph.conf /etc/kolla/config/glance/

cp /etc/ceph/ceph.conf /etc/kolla/config/cinder/

cp /etc/ceph/ceph.conf /etc/kolla/config/nova/

cp /etc/ceph/ceph.clinet.cinder.keyring /etc/kolla/config/nova/

将cinder的keyring文件拷贝到容器内部

docker cp /etc/ceph/ceph.client.admin.keyring  cinder_volume:/etc/ceph/

6 重新执行部署

kolla-ansible -i all-in-one deploy

你可能感兴趣的:(基于kolla-ansible部署的openstack外接ceph)