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
|
||||
=================
|
||||
|
||||
.. 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::
|
||||
:maxdepth: 2
|
||||
|
||||
overview.rst
|
||||
basic_environment.rst
|
||||
keystone.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
|
||||
==================
|
||||
|