993ce73bf3
Change-Id: I46a72221528b656d153a630e4053fb70fe563168 Closes-Bug: #1442451
80 lines
3.8 KiB
XML
80 lines
3.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE section [
|
|
<!ENTITY % openstack SYSTEM "../../common/entities/openstack.ent">
|
|
%openstack;
|
|
]>
|
|
<section xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
version="5.0"
|
|
xml:id="arch-guide-openstack-on-openstack">
|
|
<?dbhtml stop-chunking?>
|
|
<title>OpenStack on OpenStack</title>
|
|
<para>In some cases it is necessary to run OpenStack nested on top
|
|
of another OpenStack cloud. This scenario enables you to manage
|
|
and provision complete OpenStack cloud environments on
|
|
instances running on hypervisors and servers that the underlying
|
|
OpenStack cloud controls. Public cloud providers can use
|
|
this technique to manage the upgrade and
|
|
maintenance process on complete OpenStack-based clouds.
|
|
Developers and those testing OpenStack can also use this
|
|
guidance to provision their own OpenStack environments on
|
|
available OpenStack Compute resources, whether public or
|
|
private.</para>
|
|
<section xml:id="challenges-for-nested-cloud">
|
|
<title>Challenges</title>
|
|
<para>The network aspect of deploying a nested cloud is the most
|
|
complicated aspect of this architecture. You must expose VLANs
|
|
to the physical ports on which the underlying cloud runs,
|
|
as the bare metal cloud owns all the
|
|
hardware, but you must also expose them to the nested
|
|
levels as well. Alternatively, you can use the network overlay
|
|
technologies on the OpenStack cloud running on OpenStack to provide
|
|
the required software defined networking for the deployment.</para>
|
|
</section>
|
|
<section xml:id="hypervisor-nested-cloud">
|
|
<title>Hypervisor</title>
|
|
<para>A key question to address in this scenario is which
|
|
approach you should take to provide a nested
|
|
hypervisor in OpenStack. This decision influences which
|
|
operating systems you use for the deployment of the nested
|
|
OpenStack deployments.</para>
|
|
</section>
|
|
<section xml:id="possible-solutions-nested-cloud-deployment">
|
|
<title>Possible solutions: deployment</title>
|
|
<para>Deployment of a full stack can be challenging but you can mitigate
|
|
this difficulty by creating a Heat template to deploy the
|
|
entire stack or a configuration management system. After creating
|
|
the Heat template, you can automate the deployment of additional stacks.</para>
|
|
<para>The OpenStack-on-OpenStack project (<glossterm>TripleO</glossterm>)
|
|
addresses this issue. Currently, however, the project does
|
|
not completely cover nested stacks. For more information, see
|
|
<link xlink:href="https://wiki.openstack.org/wiki/TripleO">
|
|
https://wiki.openstack.org/wiki/TripleO</link>.</para>
|
|
</section>
|
|
<section xml:id="possible-solutions-nested-cloud-hypervisor">
|
|
<title>Possible solutions: hypervisor</title>
|
|
<para>In the case of running TripleO, the underlying OpenStack
|
|
cloud deploys the Compute nodes as bare-metal. You then deploy
|
|
OpenStack on these Compute bare-metal servers with the
|
|
appropriate hypervisor, such as KVM.</para>
|
|
<para>In the case of running smaller OpenStack clouds for testing
|
|
purposes, where performance is not a critical factor, you can use
|
|
QEMU instead. It is also possible to run a KVM hypervisor in an instance
|
|
(see <link xlink:href="http://davejingtian.org/2014/03/30/nested-kvm-just-for-fun/">
|
|
http://davejingtian.org/2014/03/30/nested-kvm-just-for-fun/</link>),
|
|
though this is not a supported configuration, and could be a
|
|
complex solution for such a use case.</para>
|
|
</section>
|
|
<section xml:id="nested-cloud-diagram">
|
|
<title>Diagram</title>
|
|
<para>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata contentwidth="4in" fileref="../figures/Specialized_OOO.png"/>
|
|
</imageobject>
|
|
</mediaobject>
|
|
</para>
|
|
</section>
|
|
</section>
|