Install guide, basic_environment to RST
-Convert architecture overview to RST. -Convert basic_environment to RST. -Add associated figures. Change-Id: I5dbc8bd79a4745cd49454000e807c50ec441cee4 Implements: blueprint installguide-liberty
@ -1,3 +1,47 @@
|
|||||||
=================
|
=================
|
||||||
Basic environment
|
Basic environment
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The draft version of this guide focuses on the future Liberty
|
||||||
|
release and will not work for the current Kilo release. If you want
|
||||||
|
to install Kilo, you must use the `Kilo
|
||||||
|
version <http://docs.openstack.org>`__ of this guide instead.
|
||||||
|
|
||||||
|
This chapter explains how to configure each node in the
|
||||||
|
:ref:`overview-example-architectures`,
|
||||||
|
including the two-node architecture with legacy
|
||||||
|
networking :ref:`figure-legacy-network-hw`
|
||||||
|
and three-node architecture with OpenStack Networking
|
||||||
|
(neutron) :ref:`figure-neutron-network-hw`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Although most environments include Identity, Image service, Compute,
|
||||||
|
at least one networking service, and the dashboard, the Object
|
||||||
|
Storage service can operate independently. If your use case only
|
||||||
|
involves Object Storage, you can skip to :ref:`swift` after
|
||||||
|
configuring the appropriate nodes for it. However, the dashboard requires at
|
||||||
|
least the Image service and Compute.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
You must use an account with administrative privileges to configure
|
||||||
|
each node. Either run the commands as the ``root`` user or configure
|
||||||
|
the ``sudo`` utility.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The :command:`systemctl enable` call on openSUSE outputs a warning message
|
||||||
|
when the service uses SysV Init scripts instead of native systemd
|
||||||
|
files. This warning can be ignored.
|
||||||
|
|
||||||
|
.. TODO(karenb)
|
||||||
|
section_basics-prerequisites.xml
|
||||||
|
section_basics-security.xml
|
||||||
|
section_basics-networking.xml
|
||||||
|
section_basics-ntp.xml
|
||||||
|
section_basics-packages.xml
|
||||||
|
section_basics-database.xml
|
||||||
|
section_basics-queue.xml
|
||||||
|
After Width: | Height: | Size: 113 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 174 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 77 KiB |
@ -72,6 +72,7 @@ Contents
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
|
overview.rst
|
||||||
basic_environment.rst
|
basic_environment.rst
|
||||||
keystone.rst
|
keystone.rst
|
||||||
glance.rst
|
glance.rst
|
||||||
|
302
doc/install-guide-rst/source/overview.rst
Normal file
@ -0,0 +1,302 @@
|
|||||||
|
============
|
||||||
|
Architecture
|
||||||
|
============
|
||||||
|
|
||||||
|
Overview
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
The OpenStack project is an open source cloud computing platform that
|
||||||
|
supports all types of cloud environments. The project aims for simple
|
||||||
|
implementation, massive scalability, and a rich set of features. Cloud
|
||||||
|
computing experts from around the world contribute to the project.
|
||||||
|
|
||||||
|
OpenStack provides an Infrastructure-as-a-Service (IaaS) solution
|
||||||
|
through a variety of complemental services. Each service offers an
|
||||||
|
application programming interface (API) that facilitates this
|
||||||
|
integration. The following table provides a list of OpenStack services:
|
||||||
|
|
||||||
|
.. list-table:: **OpenStack services**
|
||||||
|
:widths: 20 15 70
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Service
|
||||||
|
- Project name
|
||||||
|
- Description
|
||||||
|
* - `Dashboard <http://www.openstack.org/software/openstack-dashboard/>`_
|
||||||
|
- `Horizon <http://docs.openstack.org/developer/horizon/>`_
|
||||||
|
- Provides a web-based self-service portal
|
||||||
|
to interact with underlying OpenStack services,
|
||||||
|
such as launching an instance, assigning IP
|
||||||
|
addresses and configuring access controls.
|
||||||
|
* - `Compute <http://www.openstack.org/software/openstack-compute/>`_
|
||||||
|
- `Nova <http://docs.openstack.org/developer/nova/>`_
|
||||||
|
- Manages the lifecycle of compute instances in an
|
||||||
|
OpenStack environment. Responsibilities include
|
||||||
|
spawning, scheduling and decommissioning of virtual
|
||||||
|
machines on demand.
|
||||||
|
* - `Networking <http://www.openstack.org/software/openstack-networking/>`_
|
||||||
|
- `Neutron <http://docs.openstack.org/developer/neutron/>`_
|
||||||
|
- Enables Network-Connectivity-as-a-Service for
|
||||||
|
other OpenStack services, such as OpenStack Compute.
|
||||||
|
Provides an API for users to define networks and the
|
||||||
|
attachments into them. Has a pluggable architecture
|
||||||
|
that supports many popular networking vendors and
|
||||||
|
technologies.
|
||||||
|
* -
|
||||||
|
-
|
||||||
|
- **Storage**
|
||||||
|
* - `Object Storage <http://www.openstack.org/software/openstack-storage/>`_
|
||||||
|
- `Swift <http://docs.openstack.org/developer/swift/>`_
|
||||||
|
- Stores and retrieves arbitrary unstructured
|
||||||
|
data objects via a RESTful, HTTP based API.
|
||||||
|
It is highly fault tolerant with its data replication and
|
||||||
|
scale-out architecture. Its implementation is not like a
|
||||||
|
file server with mountable directories. In this case,
|
||||||
|
it writes objects and files to multiple drives, ensuring the
|
||||||
|
data is replicated across a server cluster.
|
||||||
|
* - `Block Storage <http://www.openstack.org/software/openstack-storage/>`_
|
||||||
|
- `Cinder <http://docs.openstack.org/developer/cinder/>`_
|
||||||
|
- Provides persistent block storage to running instances. Its pluggable
|
||||||
|
driver architecture facilitates the creation and management of
|
||||||
|
block storage devices.
|
||||||
|
* -
|
||||||
|
-
|
||||||
|
- **Shared services**
|
||||||
|
* - `Identity service <http://www.openstack.org/software/openstack-shared-services/>`_
|
||||||
|
- `Keystone <http://docs.openstack.org/developer/keystone/>`_
|
||||||
|
- Provides an authentication and authorization service
|
||||||
|
for other OpenStack services. Provides a catalog of endpoints
|
||||||
|
for all OpenStack services.
|
||||||
|
* - `Image service <http://www.openstack.org/software/openstack-shared-services/>`_
|
||||||
|
- `Glance <http://docs.openstack.org/developer/glance/>`_
|
||||||
|
- Stores and retrieves virtual machine disk images.
|
||||||
|
OpenStack Compute makes use of this during instance
|
||||||
|
provisioning.
|
||||||
|
* - `Telemetry <http://www.openstack.org/software/openstack-shared-services/>`_
|
||||||
|
- `Ceilometer <http://docs.openstack.org/developer/ceilometer/>`_
|
||||||
|
- Monitors and meters the OpenStack cloud for billing, benchmarking,
|
||||||
|
scalability, and statistical purposes.
|
||||||
|
* -
|
||||||
|
-
|
||||||
|
- **Higher-level services**
|
||||||
|
* - `Orchestration <http://www.openstack.org/software/openstack-shared-services/>`_
|
||||||
|
- `Heat <http://docs.openstack.org/developer/heat/>`_
|
||||||
|
- Orchestrates multiple composite cloud applications by using
|
||||||
|
either the native HOT template format or the
|
||||||
|
AWS CloudFormation template format, through both an
|
||||||
|
OpenStack-native REST API and a CloudFormation-compatible
|
||||||
|
Query API.
|
||||||
|
* - `Database service <http://www.openstack.org/software/openstack-shared-services/>`_
|
||||||
|
- `Trove <http://docs.openstack.org/developer/trove/>`_
|
||||||
|
- Provides scalable and reliable Cloud Database-as-a-Service
|
||||||
|
functionality for both relational and non-relational database
|
||||||
|
engines.
|
||||||
|
* - `Data processing service
|
||||||
|
<http://www.openstack.org/software/openstack-shared-services/>`_
|
||||||
|
- `Sahara <http://docs.openstack.org/developer/sahara/>`_
|
||||||
|
- Provides capabilties to provision and scale Hadoop clusters in OpenStack by
|
||||||
|
specifying parameters like Hadoop version, cluster topology and nodes hardware
|
||||||
|
details.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
This guide describes how to deploy these services in a functional test
|
||||||
|
environment and, by example, teaches you how to build a production
|
||||||
|
environment. Realistically, you would use automation tools such as
|
||||||
|
Ansible, Chef, and Puppet to deploy and manage a production environment.
|
||||||
|
|
||||||
|
.. _overview-conceptual-architecture:
|
||||||
|
|
||||||
|
Conceptual architecture
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Launching a virtual machine or instance involves many interactions among
|
||||||
|
several services. The following diagram provides the conceptual
|
||||||
|
architecture of a typical OpenStack environment.
|
||||||
|
|
||||||
|
.. figure:: figures/openstack_kilo_conceptual_arch.png
|
||||||
|
:alt: Conceptual view of OpenStack Kilo architecture
|
||||||
|
:width: 7in
|
||||||
|
:height: 7in
|
||||||
|
|
||||||
|
Figure 1.1 Conceptual architecture
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. _overview-example-architectures:
|
||||||
|
|
||||||
|
Example architectures
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
OpenStack is highly configurable to meet different needs with various
|
||||||
|
compute, networking, and storage options. This guide enables you to
|
||||||
|
choose your own OpenStack adventure using a combination of core and
|
||||||
|
optional services. This guide uses the following example architectures:
|
||||||
|
|
||||||
|
- Three-node architecture with OpenStack Networking (neutron) and
|
||||||
|
optional nodes for Block Storage and Object Storage services.
|
||||||
|
|
||||||
|
- The controller node runs the Identity service, Image Service,
|
||||||
|
management portions of Compute and Networking, Networking plug-in,
|
||||||
|
and the dashboard. It also includes supporting services such as a
|
||||||
|
SQL database, message queue, and Network Time Protocol (NTP).
|
||||||
|
|
||||||
|
Optionally, the controller node runs portions of Block Storage,
|
||||||
|
Object Storage, Orchestration, Telemetry, Database, and Data
|
||||||
|
processing services. These components provide additional features
|
||||||
|
for your environment.
|
||||||
|
|
||||||
|
- The network node runs the Networking plug-in and several agents
|
||||||
|
that provision tenant networks and provide switching, routing,
|
||||||
|
NAT, and DHCP services. This node also handles external (Internet)
|
||||||
|
connectivity for tenant virtual machine instances.
|
||||||
|
|
||||||
|
- The compute node runs the hypervisor portion of Compute that
|
||||||
|
operates tenant virtual machines or instances. By default, Compute
|
||||||
|
uses KVM as the hypervisor. The compute node also runs the
|
||||||
|
Networking plug-in and an agent that connect tenant networks to
|
||||||
|
instances and provide firewalling (security groups) services. You
|
||||||
|
can run more than one compute node.
|
||||||
|
|
||||||
|
Optionally, the compute node runs a Telemetry agent to collect
|
||||||
|
meters. Also, it can contain a third network interface on a
|
||||||
|
separate storage network to improve performance of storage
|
||||||
|
services.
|
||||||
|
|
||||||
|
- The optional Block Storage node contains the disks that the Block
|
||||||
|
Storage service provisions for tenant virtual machine instances.
|
||||||
|
You can run more than one of these nodes.
|
||||||
|
|
||||||
|
Optionally, the Block Storage node runs a Telemetry agent to
|
||||||
|
collect meters. Also, it can contain a second network interface on
|
||||||
|
a separate storage network to improve performance of storage
|
||||||
|
services.
|
||||||
|
|
||||||
|
- The optional Object Storage nodes contain the disks that the
|
||||||
|
Object Storage service uses for storing accounts, containers, and
|
||||||
|
objects. You can run more than two of these nodes. However, the
|
||||||
|
minimal architecture example requires two nodes.
|
||||||
|
|
||||||
|
Optionally, these nodes can contain a second network interface on
|
||||||
|
a separate storage network to improve performance of storage
|
||||||
|
services.
|
||||||
|
|
||||||
|
.. note:: When you implement this architecture, skip <TODO>.
|
||||||
|
|
||||||
|
.. todo(karenb)
|
||||||
|
section_nova-networking in
|
||||||
|
ch_networking. Optional services might
|
||||||
|
require additional nodes or additional resources on existing
|
||||||
|
nodes.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. _figure-neutron-network-hw:
|
||||||
|
|
||||||
|
.. figure:: figures/installguidearch-neutron-hw.png
|
||||||
|
:alt: Minimal architecture example with OpenStack Networking
|
||||||
|
(neutron)—Hardware requirements
|
||||||
|
|
||||||
|
Figure 1.2 Minimal architecture example with OpenStack Networking
|
||||||
|
(neutron)—Hardware requirements
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. figure:: figures/installguidearch-neutron-networks.png
|
||||||
|
:alt: Minimal architecture example with OpenStack Networking
|
||||||
|
(neutron)—Network layout
|
||||||
|
|
||||||
|
Figure 1.3 Minimal architecture example with OpenStack Networking
|
||||||
|
(neutron)—Network layout
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. figure:: figures/installguidearch-neutron-services.png
|
||||||
|
:alt: Minimal architecture example with OpenStack Networking
|
||||||
|
(neutron)—Service layout
|
||||||
|
|
||||||
|
Figure 1.4 Minimal architecture example with OpenStack Networking
|
||||||
|
(neutron)—Service layout
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
- Two-node architecture with legacy networking (nova-network) and
|
||||||
|
optional nodes for Block Storage and Object Storage services.
|
||||||
|
|
||||||
|
- The controller node runs the Identity service, Image service,
|
||||||
|
management portion of Compute, and the dashboard. It also includes
|
||||||
|
supporting services such as a SQL database, message queue, and
|
||||||
|
Network Time Protocol (NTP).
|
||||||
|
|
||||||
|
Optionally, the controller node runs portions of Block Storage,
|
||||||
|
Object Storage, Orchestration, Telemetry, Database, and Data
|
||||||
|
processing services. These components provide additional features
|
||||||
|
for your environment.
|
||||||
|
|
||||||
|
- The compute node runs the hypervisor portion of Compute that
|
||||||
|
operates tenant virtual machines or instances. By default, Compute
|
||||||
|
uses KVM as the hypervisor. Compute also provisions tenant
|
||||||
|
networks and provides firewalling (security groups) services. You
|
||||||
|
can run more than one compute node.
|
||||||
|
|
||||||
|
Optionally, the compute node runs a Telemetry agent to collect
|
||||||
|
meters. Also, it can contain a third network interface on a
|
||||||
|
separate storage network to improve performance of storage
|
||||||
|
services.
|
||||||
|
|
||||||
|
- The optional Block Storage node contains the disks that the Block
|
||||||
|
Storage service provisions for tenant virtual machine instances.
|
||||||
|
You can run more than one of these nodes.
|
||||||
|
|
||||||
|
Optionally, the Block Storage node runs a Telemetry agent to
|
||||||
|
collect meters. Also, it can contain a second network interface on
|
||||||
|
a separate storage network to improve performance of storage
|
||||||
|
services.
|
||||||
|
|
||||||
|
- The optional Object Storage nodes contain the disks that the
|
||||||
|
Object Storage service uses for storing accounts, containers, and
|
||||||
|
objects. You can run more than two of these nodes. However, the
|
||||||
|
minimal architecture example requires two nodes.
|
||||||
|
|
||||||
|
Optionally, these nodes can contain a second network interface on
|
||||||
|
a separate storage network to improve performance of storage
|
||||||
|
services.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
When you implement this architecture, skip <TODO>
|
||||||
|
|
||||||
|
.. todo(karen)
|
||||||
|
section_neutron-networking in
|
||||||
|
ch_networking. To use optional services, you
|
||||||
|
might need to build additional nodes, as
|
||||||
|
described in subsequent chapters.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. _figure-legacy-network-hw:
|
||||||
|
|
||||||
|
.. figure:: figures/installguidearch-nova-hw.png
|
||||||
|
:alt: Minimal architecture example with legacy networking
|
||||||
|
(nova-network)—Hardware requirements
|
||||||
|
|
||||||
|
Figure 1.5 Minimal architecture example with legacy networking
|
||||||
|
(nova-network)—Hardware requirements
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. figure:: figures/installguidearch-nova-networks.png
|
||||||
|
:alt: Minimal architecture example with legacy networking
|
||||||
|
(nova-network)—Network layout
|
||||||
|
|
||||||
|
Figure 1.6 Minimal architecture example with legacy networking
|
||||||
|
(nova-network)—Network layout
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
.. figure:: figures/installguidearch-nova-services.png
|
||||||
|
:alt: Minimal architecture example with legacy networking
|
||||||
|
(nova-network)—Service layout
|
||||||
|
|
||||||
|
Figure 1.7 Minimal architecture example with legacy networking
|
||||||
|
(nova-network)—Service layout
|
@ -1,3 +1,6 @@
|
|||||||
|
|
||||||
|
.. _swift:
|
||||||
|
|
||||||
==================
|
==================
|
||||||
Add Object Storage
|
Add Object Storage
|
||||||
==================
|
==================
|
||||||
|