7.2. 使用专用 Ceph 节点部署边缘站点
您可以使用 Red Hat OpenStack Platform director 部署专用 Ceph 节点。
流程
从中央
堆栈导出堆栈信息。在运行此命令前,您必须部署中央
堆栈:openstack overcloud export \ --config-download-dir /var/lib/mistral/central/ \ --stack central \ --output-file ~/dcn-common/central-export.yaml
注意config-download-dir
值默认为/var/lib/mistral/<stack>/
。创建
central_ceph_external.yaml
文件。此环境文件将 DCN 站点连接到中央 hub Ceph 集群,因此信息特定于前面步骤中部署的 Ceph 集群。sudo -E openstack overcloud export ceph \ --stack central \ --config-download-dir /var/lib/mistral \ --output-file ~/dcn-common/central_ceph_external.yaml
为 glance 配置覆盖创建
~/dcn0/glance.yaml
文件:parameter_defaults: GlanceEnabledImportMethods: web-download,copy-image GlanceBackend: rbd GlanceStoreDescription: 'dcn0 rbd glance store' GlanceBackendID: dcn0 GlanceMultistoreConfig: central: GlanceBackend: rbd GlanceStoreDescription: 'central rbd glance store' CephClientUserName: 'openstack' CephClusterName: central
使用与可用硬件相关的配置参数配置
ceph.yaml
文件。cat > /home/stack/dcn0/ceph.yaml << EOF parameter_defaults: CephClusterName: dcn0 CephAnsibleDisksConfig: osd_scenario: lvm osd_objectstore: bluestore devices: - /dev/sda - /dev/sdb CephPoolDefaultSize: 3 CephPoolDefaultPgNum: 128 EOF
有关更多信息,请参阅 映射 Ceph Storage 节点磁盘布局。
在
site-name.yaml
环境文件中为站点配置命名约定。Nova 可用区和 Cinder 存储可用区必须匹配。部署带有存储的边缘站点时,包括CinderVolumeCluster
参数。当 cinder-volume 部署为 active/active (在边缘站点需要)时,使用此参数。作为最佳实践,将 Cinder 集群名称设置为与可用区匹配:cat > /home/stack/dcn0/site-name.yaml << EOF parameter_defaults: ... NovaComputeAvailabilityZone: dcn0 NovaCrossAZAttach: false CinderStorageAvailabilityZone: dcn0 CinderVolumeCluster: dcn0
生成用于 dcn0 部署的
roles.yaml
文件,例如:openstack overcloud roles generate DistributedCompute DistributedComputeScaleOut CephAll-o ~/dcn0/roles_data.yaml
通过为每个角色创建
~/dcn0/roles-counts.yaml
文件来设置每个角色中的数量系统。您必须为 DistributedCompute 角色分配三个节点,以满足 GlanceApiEdge 服务的要求,并为
CephAll
角色分配三个节点。parameter_defaults: ControllerCount: 0 ComputeCount: 0 DistributedComputeCount: 3 CephAll: 3 DistributedComputeScaleOutCount: 1 # Optional
检索边缘站点的容器镜像:
sudo openstack tripleo container image prepare \ --environment-directory dcn0 \ -r ~/dcn0/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ ... -e /home/stack/dcn-common/central-export.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ --output-env-file ~/dcn0/dcn0-images-env.yaml
注意您必须在
openstack tripleo container image prepare
命令中包含用于部署的所有环境文件。部署边缘站点:
openstack overcloud deploy \ --stack dcn0 \ --templates /usr/share/openstack-tripleo-heat-templates/ \ -r ~/dcn0/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/dcn-storage.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \ -e ~/dnc0/dcn0-images-env.yaml \ .... -e ~/dcn-common/central-export.yaml \ -e ~/dcn-common/central_ceph_external.yaml \ -e ~/dcn0/dcn_ceph_keys.yaml \ -e ~/dcn0/role-counts.yaml \ -e ~/dcn0/ceph.yaml \ -e ~/dcn0/site-name.yaml \ -e ~/dcn0/tuning.yaml \ -e ~/dcn0/glance.yaml
注意您必须在
openstack overcloud deploy
命令中包含用于配置网络配置的 heat 模板。为边缘架构设计需要 spine 和 leaf 网络。如需了解更多详细信息,请参阅 Spine Leaf Networking。在部署了边缘位置后,您必须确保在 nova API 数据库中创建 nova
cell_v2
主机映射。在 undercloud 上运行以下命令:TRIPLEO_PLAN_NAME=central \ ansible -i /usr/bin/tripleo-ansible-inventory \ nova_api[0] -b -a \ "{{ container_cli }} exec -it nova_api \ nova-manage cell_v2 discover_hosts --by-service --verbose"
如果扩展边缘站点,您必须再次运行该命令。