6.2. 在没有存储的情况下部署边缘节点
在边缘站点部署 Compute 节点时,您可以使用中央位置作为 control plane。您可以将新的 DCN 堆栈添加到部署中,并重复使用中央位置的配置文件来创建新的环境文件。
先决条件
-
您必须创建特定于环境的
network_data.yaml
文件。您可以在/usr/share/openstack-tripleo-heat-templates/network-data-samples
中找到示例文件。 -
您必须创建一个特定于环境的
overcloud-baremetal-deploy.yaml
文件。有关更多信息,请参阅为 overcloud 置备裸机节点。 - 您必须将镜像上传到中央位置,然后才能将它们复制到边缘站点;在中央位置,每个镜像的副本都必须存在于镜像服务(glance)中。
- 您必须将 RBD 存储驱动程序用于镜像、计算和块存储服务。
流程
- 以 stack 用户身份登录 undercloud。
查找 stackrc 文件:
[stack@director ~]$ source ~/stackrc
生成环境文件 ~/dcn0/dcn0-images-env.yaml[d]:
sudo[e] openstack tripleo container image prepare \ -e containers.yaml \ --output-env-file ~/dcn0/dcn0-images-env.yaml
为边缘位置生成角色文件。使用适合您的环境的角色,为边缘位置生成角色:
(undercloud)$ openstack overcloud roles \ generate Compute \ -o /home/stack/dcn0/dcn0_roles.yaml
如果使用 ML2/OVS 进行网络覆盖,您必须编辑 Compute 角色包括
NeutronDhcpAgent
和NeutronMetadataAgent
服务:为 Compute 角色创建一个角色文件:
openstack overcloud roles \ generate Compute \ -o /home/stack/dcn0/dcn0_roles.yaml
编辑 /home/stack/dcn0/dcn0_roles.yaml 文件,使其包含
NeutronDhcpAgent
和NeutronMetadataAgent
服务:... - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe + - OS::TripleO::Services::NeutronDhcpAgent + - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaAZConfig - OS::TripleO::Services::NovaCompute ...
如需更多信息,请参阅准备路由供应商网络。
调配 overcloud 的网络。此命令取 overcloud 网络的定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:
(undercloud)$ openstack overcloud network provision \ --output /home/stack/dcn0/overcloud-networks-deployed.yaml \ /home/stack/dcn0/network_data.yaml
重要如果您的
network_data.yaml
模板包含您置备网络时不包含的额外网络,则必须在中央位置重新运行网络置备命令:(undercloud)$ openstack overcloud network provision \ --output /home/stack/central/overcloud-networks-deployed.yaml \ /home/stack/central/network_data.yaml
置备裸机实例。该命令为裸机节点使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:
(undercloud)$ openstack overcloud node provision \ --stack dcn0 \ --network-config \ -o /home/stack/dcn0/deployed_metal.yaml \ ~/overcloud-baremetal-deploy.yaml
在 site-name.yaml 环境文件中配置站点的命名约定。
parameter_defaults: NovaComputeAvailabilityZone: dcn0 ControllerExtraConfig: nova::availability_zone::default_schedule_zone: dcn0 NovaCrossAZAttach: false
为 dcn0 边缘站点部署堆栈:
openstack overcloud deploy \ --deployed-server \ --stack dcn0 \ --templates /usr/share/openstack-tripleo-heat-templates/ \ -r /home/stack/dcn0/dcn0_roles.yaml \ -n /home/stack/network_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \ -e /home/stack/overcloud-deploy/central/central-export.yaml \ -e /home/stack/dcn0/overcloud-networks-deployed.yaml \ -e /home/stack/dcn0/overcloud-vip-deployed.yaml \ -e /home/stack/dcn0/deployed_metal.yaml