Overview of Red Hat OpenStack Platform
Red Hat OpenStack Platform (RHOSP) 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 scalable, fault-tolerant platform for the development of cloud-enabled workloads.
Chapter 1. Understanding Red Hat OpenStack Platform
Red Hat OpenStack Platform (RHOSP) delivers an integrated foundation to create, deploy, and scale a secure and reliable public or private OpenStack cloud.
RHOSP is packaged so that you can create private, public, or hybrid cloud platforms from your available physical hardware. RHOSP clouds include the following components:
- 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 RHOSP IaaS cloud is implemented by a collection of interacting services that control its computing, storage, and networking resources. You can manage the cloud with a web-based interface to control, provision, and automate RHOSP resources. Additionally, an extensive API controls the RHOSP infrastructure and this API is also available to end users of the cloud.
1.1. Advantages of using Red Hat OpenStack Platform
You can use Red Hat OpenStack Platform to combine virtualization, networking, and storage based on your requirements. The following capabilities are some of the advantages of the Red Hat OpenStack Platform:
- You can create public, private, or hybrid clouds that you can scale up or down based on your requirements.
- You can deploy cloud-enabled workloads based on your needs.
- You can address customer demands in hours or minutes instead of weeks or days, without sacrificing security, performance, or budget.
- You can implement stability and agility for your cloud environments, using 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 to produce the best cloud software in the industry.
RPM Distribution of OpenStack (RDO) is a free, community-supported distribution of the Red Hat version 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 a community of users of cloud computing platforms on Red Hat-based operating systems to get help and compare notes on running OpenStack. For enterprise-level support or information on partner certification, Red Hat offers Red Hat OpenStack Platform. For more information, see Red Hat OpenStack Platform.
Chapter 2. Software
The Red Hat OpenStack Platform IaaS cloud works as a collection of interacting services that control compute, storage, and networking resources. You can manage the cloud with a web-based dashboard or command-line clients to control, provision, and automate OpenStack resources. OpenStack also has an extensive API that 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 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.
Provides load-balancing services for the cloud.
Manages persistent block storage volumes for virtual machines.
Manages and provisions virtual machines running on hypervisor nodes.
Registry service to store resources such as virtual machine images and volume snapshots.
Stores and retrieves 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, with a MariaDB database, implement the Image service.
This section describes each of the OpenStack components in some detail:
OpenStack Dashboard (horizon)
OpenStack Dashboard is a graphical user interface that you can use to create and launch instances, manage networking, and set access control.
The Dashboard service includes the Project, Admin, and Settings default dashboards. It has a modular design 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 username 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).
Load-balancing service (octavia)
The OpenStack Load-balancing service (octavia) provides a Load Balancing-as-a-Service (LBaaS) implementation for Red Hat OpenStack Platform director installations. To achieve load balancing, octavia supports enabling multiple provider drivers. The reference provider driver (Amphora provider driver) is an open-source, scalable, and highly available load balancing provider. It accomplishes its delivery of load balancing services by managing a fleet of virtual machines — collectively known as amphorae — which it spins up on demand.
OpenStack Block Storage (cinder)
OpenStack Block Storage provides persistent block storage management for virtual hard drives. You can use Block Storage 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. Use templates to create stacks, which are collections of resources.
OpenStack Bare Metal Provisioning (ironic)
Use OpenStack Bare Metal Provisioning 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 File Systems service provides shared file systems that Compute instances can use. The basic resources of 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. It is 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. 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. It includes new OpenStack components that provision and control bare metal systems to use as OpenStack nodes. It provides a simple method for installing a complete Red Hat OpenStack Platform environment. 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, you can use the director to create configurations that offer high availability and load balancing across all major services in Red Hat OpenStack Platform.
OpenStack Operational Tools
Red Hat OpenStack Platform comes with an optional suite of tools, such as Centralized Logging, Availability Monitoring, and Performance Monitoring. You can use these tools to 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:
- Red Hat OpenStack Platform director: Recommended for enterprise deployments. For more information, see Red Hat OpenStack Platform Director Installation and Usage.
packstack: packstack is a deployment that 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 Red Hat OpenStack Platform.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.
For a comparison of these installation options, see Installing and Managing Red Hat OpenStack Platform.
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 below 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
You can deploy Red Hat OpenStack Platform on trusted cloud providers. For the certified list of products, see Hardware - Tested and Approved.
Chapter 4. Finding more information
The following table includes deployment references for components mentioned in this guide.
For additional manuals for Red Hat OpenStack Platform, see Red Hat OpenStack Documentation Suite.
Red Hat Enterprise Linux
Red Hat OpenStack Platform 16.0 is supported on Red Hat Enterprise Linux 8. For information on installing Red Hat Enterprise Linux, see 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 used to provision and manage the OpenStack nodes in the final overcloud.
Be aware that you need one extra host machine for the installation of the undercloud, in addition to the environment necessary for the deployed overcloud. For more information, 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 Between Compute Nodes in the Director Installation and Usage guide.
The OpenStack Load-balancing service (Octavia) provides a Load Balancing-as-a-Service (LBaaS) version 2 implementation for Red Hat OpenStack platform director installations. To use Load Balancing-as-a-Service, see Load Balancing-as-a-Service (LBaaS) with Octavia 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 Configuring and managing high availability clusters.