Este conteúdo não está disponível no idioma selecionado.
Chapter 8. Deploying multiple overclouds
This feature is available in this release as a Technology Preview, and therefore is not fully supported by Red Hat. It should only be used for testing, and should not be deployed in a production environment. For more information about Technology Preview features, see Scope of Coverage Details.
You can use a single undercloud node to deploy and manage multiple overclouds. Each overcloud is a unique Heat stack that does not share stack resources. This can be useful for environments where having a 1:1 ratio of underclouds to overclouds creates an unmanageable amount of overhead. For example, Edge, multi-site, and multi-product environments.
The overcloud environments in the multi-overcloud scenario are completely separate, and you can use the source command to switch between the environments. If you use Ironic for bare metal provisioning, all overclouds must be on the same provisioning network. If it is not possible to use the same provisioning network, you can use the deployed servers method to deploy multiple overclouds with routed networks, ensuring that the value in the HostnameMap parameter matches the stack name for each overcloud.
Use the following workflow to understand the basic process:
- Deploying the undercloud
- Deploy the undercloud as normal. For more information, see Part I, “Director Installation and Configuration”.
- Deploying the first overcloud
- Deploy the first overcloud as normal. For more information, see Part II, “Basic Overcloud Deployment”.
- Deploying additional overclouds
-
Create a new set of environment files for the new overcloud. Run the deploy command, specifying the core heat templates together with the new configuration files and a new
stackname.
8.1. Deploying additional overclouds Copiar o linkLink copiado para a área de transferência!
In this example, overcloud-one is the existing overcloud. Complete the following steps to deploy a new overcloud overcloud-two.
Prerequisites
Before you begin deploying additional overclouds, ensure that your environment contains the following configurations:
- Successful undercloud and overcloud deployments.
- Nodes available for your additional overcloud.
- Custom networks for additional overclouds so that each overcloud has a unique network in the resulting stack.
Procedure
Create a new directory for the additional overcloud that you want to deploy:
mkdir ~/overcloud-two
$ mkdir ~/overcloud-twoCopy to Clipboard Copied! Toggle word wrap Toggle overflow In the new directory, create new environment files specific to the requirements of the additional overcloud, and copy any relevant environment files from the existing overcloud:
cp network-data.yaml ~/overcloud-two/network-data.yaml cp network-environment.yaml ~/overcloud-two/network-environment.yaml
$ cp network-data.yaml ~/overcloud-two/network-data.yaml $ cp network-environment.yaml ~/overcloud-two/network-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Modify the environment files according to the specification of the new overcloud. For example, the existing overcloud has the name
overcloud-oneand uses the VLANs that you define in thenetwork-data.yamlenvironment file:Copy to Clipboard Copied! Toggle word wrap Toggle overflow The new overcloud has the name
overcloud-twoand uses different VLANs. Edit the~/overcloud-two/network-data.yamlenvironment file and include the new VLAN IDs for each subnet. You must also define a uniquename_lowervalue, and set theservice_net_map_replaceattribute to the name of the network that you want to replace:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Modify the following parameters in the
~/overcloud-two/network-environment.yamlfile:-
Enter a unique value in the
{'provider:physical_network'}attribute of theExternalNetValueSpecsparameter so thatovercloud-twohas a distinct external network, and define the network type with the'provider:network_type'attribute. -
Set the
ExternalInterfaceDefaultRouteparameter to the IP address of the gateway for the external network so that the overcloud has external access. Set the
DnsServersparameter to the IP address of your DNS server so that the overcloud can reach the DNS server.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Enter a unique value in the
Run the
openstack overcloud deploycommand. Specify the core heat template collection with the--templatesoption, a newstackname with the--stackoption, and any new environment files from the~/overcloud-twodirectory:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Each overcloud has a unique credential file. In this example, the deployment process creates overcloud-onerc for overcloud-one, and overcloud-tworc for overcloud-two. To interact with either overcloud, you must source the appropriate credential file. For example, to source the credential for the first overcloud, run the following command:
source overcloud-onerc
$ source overcloud-onerc
8.2. Managing multiple overclouds Copiar o linkLink copiado para a área de transferência!
Each overcloud that you deploy uses the same set of core heat templates /usr/share/openstack-tripleo-heat-templates. Red Hat recommends that you do not modify or duplicate these templates, as using a non-standard set of core templates can introduce issues with updates and upgrades.
Instead, for ease of management when deploying or maintaining multiple overclouds, create separate directories of environment files specific to each cloud. When you run the deploy command for each cloud, include the core heat templates together with the cloud-specific environment files that you create separately. For example, create the following directories for the undercloud and two overclouds:
~stack/undercloud- Contains the environment files specific to the undercloud.
~stack/overcloud-one- Contains the environment files specific to the first overcloud.
~stack/overcloud-two- Contains the environment files specific to the second overcloud.
When you deploy or redeploy overcloud-one or overcloud-two, include the core heat templates in the deploy command with the --templates option, and then specify any additional environment files from the cloud-specific environment file directories.
Alternatively, create a repository in a version control system and use branches for each deployment. For more information, see the Using Customized Core Heat Templates section of the Advanced Overcloud Customization guide.
Use the following command to view a list of overcloud plans that are available:
openstack overcloud plan list
$ openstack overcloud plan list
Use the following command to view a list of overclouds that are currently deployed:
openstack stack list
$ openstack stack list