Overview of Red Hat OpenStack Platform
Red Hat OpenStack Platform provides the foundation to build a private or public Infrastructure-as-a-Service (IaaS) cloud on top of Red Hat Enterprise Linux. It offers a massively scalable, fault-tolerant platform for the development of cloud-enabled workloads.
Chapter 1. Understanding Red Hat OpenStack Platform
Red Hat OpenStack Platform delivers an integrated foundation to create, deploy, and scale a secure and reliable public or private OpenStack cloud.
Red Hat OpenStack Platform is packaged so that available physical hardware can be turned into a private, public, or hybrid cloud platform that includes:
- Fully distributed object storage
- Persistent block-level storage
- Virtual machine provisioning engine and image storage
- Authentication and authorization mechanisms
- Integrated networking
- Web browser-based interface accessible to users and administrators
The Red Hat OpenStack Platform IaaS cloud is implemented by a collection of interacting services that control its computing, storage, and networking resources. The cloud is managed using a web-based interface which allows administrators to control, provision, and automate OpenStack resources. Additionally, the OpenStack infrastructure is facilitated through an extensive API, which is also available to end users of the cloud.
1.1. Advantages of Using Red Hat OpenStack Platform
Red Hat OpenStack Platform allows you to combine virtualization, networking, and storage based on your requirements. Some of the advantages of the Red Hat OpenStack Platform are as follows:
- Red Hat OpenStack Platform allows you to create public, private or hybrid clouds that can be scaled up or down based on your requirements.
- You can deploy cloud-enabled workloads based on your needs and for the duration you need it.
- Red Hat OpenStack Platform allows you to address customer demands in hours or minutes instead of weeks or days, without sacrificing security, performance, or budget.
- Red Hat OpenStack Platform keeps your cloud environments stable and agile using included hybrid cloud management, monitoring, and reporting with Red Hat CloudForms.
1.2. Relationship between RDO and OpenStack Foundation
OpenStack Foundation promotes the global development, distribution and adoption of the OpenStack cloud operating system. The goal of the OpenStack Foundation is to serve developers, users, and the entire ecosystem globally by providing a set of shared resources to grow the footprint of public and private OpenStack clouds, enable technology vendors targeting the platform and assist developers in producing the best cloud software in the industry.
RPM Distribution of OpenStack (RDO) is a freely-available, community-supported distribution of the Red Hat’s flavor of OpenStack that runs on Red Hat Enterprise Linux (RHEL) and its derivatives, such as CentOS. RDO also makes the latest OpenStack development release available for Fedora. In addition to providing a set of software packages, RDO is also a community of users of cloud computing platform on Red Hat-based operating systems to get help and compare notes on running OpenStack. RDO aims to be the natural option for anyone that wants to run the most recently released version of OpenStack on supported systems.
If you are looking for enterprise-level support, or information on partner certification, Red Hat also offers Red Hat OpenStack Platform.
Chapter 2. Software
The Red Hat OpenStack Platform IaaS cloud is implemented as a collection of interacting services that control compute, storage, and networking resources. The cloud can be managed with a web-based dashboard or command-line clients, which allow administrators to control, provision, and automate OpenStack resources. OpenStack also has an extensive API, which is also available to all cloud users.
The following diagram provides a high-level overview of the OpenStack core services and their relationship with each other.
The following table describes each component shown in the diagram and provides links for the component documentation section.
Table 2.1. Core services
Web browser-based dashboard that you use to manage OpenStack services.
Centralized service for authentication and authorization of OpenStack services and for managing users, projects, and roles.
Provides connectivity between the interfaces of OpenStack services.
Manages persistent block storage volumes for virtual machines.
Manages and provisions virtual machines running on hypervisor nodes.
Registry service that you use to store resources such as virtual machine images and volume snapshots.
Allows users to store and retrieve files and arbitrary data.
Provides measurements of cloud resources.
Template-based orchestration engine that supports automatic creation of resource stacks.
Each OpenStack service contains a functional group of Linux services and other components. For example, the glance-api and glance-registry Linux services, together with a MariaDB database, implement the Image service.
This section describes each of the OpenStack components in some detail:
OpenStack Dashboard (horizon)
OpenStack Dashboard provides a graphical user interface for users and administrators to perform operations such as creating and launching instances, managing networking, and setting access control.
The Dashboard service provides the Project, Admin, and Settings default dashboards. The modular design enables the dashboard to interface with other products such as billing, monitoring, and additional management tools.
OpenStack Identity (keystone)
OpenStack Identity provides user authentication and authorization to all OpenStack components. Identity supports multiple authentication mechanisms, including user name and password credentials, token-based systems, and AWS-style log-ins.
OpenStack Networking (neutron)
OpenStack Networking handles creation and management of a virtual networking infrastructure in the OpenStack cloud. Infrastructure elements include networks, subnets, and routers. You can also deploy advanced services such as firewalls or virtual private networks (VPN).
OpenStack Block Storage (cinder)
OpenStack Block Storage provides persistent block storage management for virtual hard drives. Block Storage enables the user to create and delete block devices, and to manage attachment of block devices to servers.
OpenStack Compute (nova)
OpenStack Compute serves as the core of the OpenStack cloud by providing virtual machines on demand. Compute schedules virtual machines to run on a set of nodes by defining drivers that interact with underlying virtualization mechanisms, and by exposing the functionality to the other OpenStack components.
OpenStack Image Service (glance)
OpenStack Image acts as a registry for virtual disk images. Users can add new images or take a snapshot of an existing server for immediate storage. You can use the snapshots for backup or as templates for new servers.
OpenStack Object Storage (swift)
Object Storage provides an HTTP-accessible storage system for large amounts of data, including static entities such as videos, images, email messages, files, or VM images. Objects are stored as binaries on the underlying file system along with metadata stored in the extended attributes of each file.
OpenStack Telemetry (ceilometer)
OpenStack Telemetry provides user-level usage data for OpenStack-based clouds. The data can be used for customer billing, system monitoring, or alerts. Telemetry can collect data from notifications sent by existing OpenStack components such as Compute usage events, or by polling OpenStack infrastructure resources such as libvirt.
OpenStack Orchestration (heat)
OpenStack Orchestration provides templates to create and manage cloud resources such as storage, networking, instances, or applications. Templates are used to create stacks, which are collections of resources.
OpenStack Data Processing (sahara)
OpenStack Data Processing enables the provisioning and management of Hadoop clusters on OpenStack. Hadoop stores and analyze large amounts of unstructured and structured data in clusters.
OpenStack Bare Metal Provisioning (ironic)
OpenStack Bare Metal Provisioning enables the user to provision physical, or bare metal machines, for a variety of hardware vendors with hardware-specific drivers. Bare Metal Provisioning integrates with the Compute service to provision the bare metal machines in the same way that virtual machines are provisioned, and provides a solution for the bare-metal-to-trusted-tenant use case.
OpenStack Shared-Filesystems-as-a-Service (manila)
OpenStack Shared-Filesystems-as-a-Service provides shared file systems that Compute instances can use. The basic resources offered by the Shared File Systems are shares, snapshots and share networks.
OpenStack DNS-as-a-Service (designate)Note
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 the Scope of Coverage Details.
DNSaaS includes a REST API for domain and record management, is multi-tenanted, and integrates with OpenStack Identity Service (keystone) for authentication. DNSaaS includes a framework for integration with Compute (nova) and OpenStack Networking (neutron) notifications, allowing auto-generated DNS records. In addition, DNSaaS includes integration support for PowerDNS and Bind9.
OpenStack Key Manager Service (barbican)
OpenStack Key Manager Service is a REST API designed for the secure storage, provisioning and management of secrets such as passwords, encryption keys and X.509 Certificates. This includes keying material such as Symmetric Keys, Asymmetric Keys, Certificates and raw binary data.
Red Hat OpenStack Platform Director
The Red Hat OpenStack Platform director is a toolset for installing and managing a complete OpenStack environment. It is based primarily on the OpenStack project TripleO, which is an abbreviation for "OpenStack-On-OpenStack". This project takes advantage of OpenStack components to install a fully operational OpenStack environment; this includes new OpenStack components that provision and control bare metal systems to use as OpenStack nodes. This provides a simple method for installing a complete Red Hat OpenStack Platform environment that is both lean and robust. The Red Hat OpenStack Platform director uses two main concepts: an Undercloud and an Overcloud. The Undercloud installs and configures the Overcloud.
OpenStack High Availability
To keep your OpenStack environment up and running efficiently, Red Hat OpenStack Platform Director lets you create configurations that offer high availability and load balancing across all major services in OpenStack.
OpenStack Operational Tools
Red Hat OpenStack Platform comes with an optional suite of tools, such as, Centralized Logging, Availability Monitoring, and Performance Monitoring, that are designed to help you maintain your OpenStack environment.
You can integrate Red Hat OpenStack Platform with the following Third-Party software - Tested and Approved Software
2.3. Installation Summary
Red Hat supports the installation of Red Hat OpenStack Platform using the following methods:
Using the Red Hat OpenStack Platform director: Recommended for Enterprise deployments. The Red Hat OpenStack Platform director is a toolset for installing and managing a complete OpenStack environment. It is based primarily on the OpenStack project TripleO, which is an abbreviation for "OpenStack-On-OpenStack". This project takes advantage of OpenStack components to install a fully operational OpenStack environment; this includes new OpenStack components that provision and control bare metal systems to use as OpenStack nodes. This provides a simple method for installing a complete Red Hat OpenStack Platform environment that is both lean and robust.
The Red Hat OpenStack Platform director uses two main concepts: an Undercloud and an Overcloud. The Undercloud installs and configures the Overcloud. For more information, see Red Hat OpenStack Platform Director Installation and Usage.
Using packstack: OpenStack deployment consists of a public network and a private network on one machine, hosting one CirrOS-image instance, with an attached storage volume. Installed OpenStack services include: Block Storage, Compute, Dashboard, Identity, Image, OpenStack Networking, Object Storage, and Telemetry. Packstack is a command-line utility that rapidly deploys OpenStack.Note
Packstack deployments are intended only for POC-type testing environments, and are not suitable for production. By default, the public network is only routable from the OpenStack host.
For more information, see Evaluating OpenStack: Single-Node Deployment
See Installing and Managing Red Hat OpenStack Platform for a comparison of these installation options.
To install Red Hat OpenStack Platform, you must register all systems in the OpenStack environment with Red Hat Subscription Manager, and subscribe to the required channels. The guides listed above detail the channels and repositories you must subscribe to before deploying Red Hat OpenStack Platform.
- Requirements for installing using director in the Director Installation and Usage guide.
- Requirements for installing a single-node POC deployment
Chapter 3. Hardware
Red Hat OpenStack Platform can be deployed on trusted cloud providers. See Hardware - Tested and Approved for the certified list of products.
Chapter 4. Finding More Information
The following table includes deployment references for components mentioned in this guide.
Additional manuals for Red Hat OpenStack Platform can be found here: Red Hat OpenStack Documentation Suite.
Red Hat Enterprise Linux
Red Hat OpenStack Platform is supported on Red Hat Enterprise Linux 7.3. For information on installing Red Hat Enterprise Linux, see the corresponding installation guide at: Red Hat Enterprise Linux Documentation Suite.
Red Hat OpenStack Platform
To install OpenStack components and their dependencies, use the Red Hat OpenStack Platform director. The director uses a basic OpenStack undercloud, which is then used to provision and manage the OpenStack nodes in the final overcloud.
Be aware that you will need one extra host machine for the installation of the undercloud, in addition to the environment necessary for the deployed overcloud. For detailed instructions, see Director Installation and Usage.
For the configuration of additional high availability components (for example, HAProxy), see Understanding Red Hat OpenStack Platform High Availability.
For information about configuring live migration, see Migrating VMs from an Overcloud Compute Node in the Director Installation and Usage guide.
To use Load Balancing-as-a-Service, see Configuring Load Balancing-as-a-Service in the Networking Guide.
Pacemaker is integrated into Red Hat Enterprise Linux as an add-on. To set up Red Hat Enterprise Linux for high availability, see the High Availability Add-on Overview.