Production Ready OpenStack - Recipes for Successful Environments

Book description

Over 90 practical and highly applicable recipes to successfully deploy various OpenStack configurations in production

About This Book

  • Get a deep understanding of OpenStack's internal structure and services
  • Learn real-world examples on how to build and configure various production grade use cases for each of OpenStack's services
  • Use a step-by-step approach to install and configure OpenStack's services to provide Compute, Storage, and Networking as a services for cloud workloads

In Detail

OpenStack is the most popular open source cloud platform used by organizations building internal private clouds and by public cloud providers. OpenStack is designed in a fully distributed architecture to provide Infrastructure as a Service, allowing us to maintain a massively scalable cloud infrastructure. OpenStack is developed by a vibrant community of open source developers who come from the largest software companies in the world.

The book provides a comprehensive and practical guide to the multiple uses cases and configurations that OpenStack supports. This book simplifies the learning process by guiding you through how to install OpenStack in a single controller configuration.

The book goes deeper into deploying OpenStack in a highly available configuration. You'll then configure Keystone Identity Services using LDAP, Active Directory, or the MySQL identity provider and configure a caching layer and SSL. After that, you will configure storage back-end providers for Glance and Cinder, which will include Ceph, NFS, Swift, and local storage. Then you will configure the Neutron networking service with provider network VLANs, and tenant network VXLAN and GRE.

Also, you will configure Nova's Hypervisor with KVM, and QEMU emulation, and you will configure Nova's scheduler filters and weights. Finally, you will configure Horizon to use Apache HTTPD and SSL, and you will customize the dashboard's appearance.

What You Will Learn

  • Plan an installation of OpenStack with a basic configuration
  • Deploy OpenStack in a highly available configuration
  • Configure Keystone Identity services with multiple types of identity backends
  • Configure Glance Image Store with File, NFS, Swift, or Ceph image backends and use local image caching
  • Design Cinder to use a single storage provider such as LVM, Ceph, and NFS backends, or to use multiple storage backends simultaneously
  • Manage and configure the OpenStack networking backend
  • Configure OpenStack's compute hypervisor and the instance scheduling mechanism
  • Build and customize the OpenStack dashboard

Who This Book Is For

If you have a basic understanding of Linux and Cloud computing and want to learn about configurations that OpenStack supports, this is the book for you. Knowledge of virtualization and managing Linux environments is expected. Prior knowledge or experience of OpenStack is not required, although beneficial.

Style and approach

This book consists of clear, concise instructions coupled with practical and applicable recipes that will enable you to use and implement the latest features of OpenStack.

Table of contents

  1. Production Ready OpenStack - Recipes for Successful Environments
    1. Table of Contents
    2. Production Ready OpenStack - Recipes for Successful Environments
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Errata
        2. Piracy
        3. Questions
    8. 1. Introduction to OpenStack and its Deployment Using Packages
      1. Introduction
        1. OpenStack projects and components
          1. Core services
          2. Optional services
        2. Architectural layouts
          1. All-In-One layout
          2. Controller-Neutron-computes layout
          3. Custom-distributed layout
        3. Choosing a deployment method
          1. Manual deployment from packages
          2. Configuration management tools (Puppet, Chef, Ansible)
          3. PackStack
          4. Foreman with Staypuft plugin
          5. Deploying OpenStack from packages
        4. Environment setup
          1. Environment details
        5. Physical network topology
      2. Configuring hosts prerequisites
        1. Getting ready
        2. How to do it...
          1. Yum repositories
          2. Firewall service
          3. openstack-utils Package
          4. SELinux
          5. NTP
      3. Installing MariaDB database
        1. How to do it...
        2. There's more...
      4. Installing RabbitMQ
        1. How to do it...
        2. There's more...
      5. Installing Keystone – Identity service
        1. Getting Ready
          1. Create Keystone database
        2. Open Keystone service firewall ports
        3. How to do it...
          1. Install service packages
          2. Configure database connection
          3. Keystone service basic configuration
          4. Configure administrative token
      6. Generating and configuring tokens PKIs
        1. How to do it…
          1. Starting and enabling service
          2. Configuring Keystone endpoints
          3. Keystone administrator account
          4. Keystone user account
        2. There's more…
          1. Verify successful installation
      7. Installing Glance – images service
        1. Getting ready
          1. Create database
          2. Create Glance service credentials and endpoint in Keystone
          3. Open service firewall ports
          4. Install service packages
          5. Service configuration
        2. How to do it...
          1. Configure database connection
          2. Configure Glance service
        3. There's more…
          1. Verify successful installation
      8. Installing Nova – Compute service
        1. Getting ready
          1. Create database
          2. Create Keystone service credentials and endpoint
          3. Open service firewall ports
          4. Install service packages
        2. How to do it...
          1. Configure database connection
          2. Configure message broker
          3. Configure service
          4. Start and enable Service
          5. Verify successful installation
          6. Configure compute nodes
          7. Install service packages
          8. Configure database connection
          9. Configure message broker
          10. Configure service
          11. Start and enable Service
      9. Installing Neutron – networking service
        1. Getting ready
          1. Create database
          2. Create Keystone service credentials and endpoint
          3. Open service firewall ports
          4. Install service packages
        2. How to do it…
          1. Configure database connection
          2. Configure message broker
          3. Configure Neutron service
          4. Start and enable service
      10. Configuring Neutron network node
        1. How to do it...
          1. Configure message broker
          2. Configure Neutron service
          3. Start and enable service
      11. Configuring compute node for Neutron
        1. How to do it...
          1. Configure message broker
          2. Configure Neutron service
          3. Creating Neutron networks
      12. Installing Horizon – web user interface dashboard
        1. Getting ready
        2. How to do it...
        3. How it works...
        4. There's more...
          1. Verify successful installation
    9. 2. Deploying OpenStack Using Staypuft OpenStack Installer
      1. Introduction
      2. Setting up the environment
        1. Getting ready
          1. Networks layout
          2. Provisioning PXE network
            1. The Tenant network
            2. External public network
            3. Staypuft host
        2. How to do it…
          1. Configure Staypuft to serve as an Internet gateway
          2. Setting YUM repositories
        3. There's more…
      3. Installing Staypuft packages
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also…
        6. Deploying OpenStack using Staypuft
      4. Discovering hosts for provisioning
        1. Getting ready
          1. Accessing the Staypuft web user interface
        2. How to do it...
      5. Creating a new OpenStack deployment
        1. How to do it...
      6. Configuring a network
        1. How to do it...
        2. Services configuration
        3. How to do it...
      7. Allocating hosts to roles
        1. How to do it...
      8. Configuring host networking
        1. How to do it...
      9. Deploying OpenStack
        1. How to do it...
          1. Verifying successful installation
    10. 3. Deploying Highly Available OpenStack
      1. Introduction
      2. Installing Pacemaker
        1. Getting ready
        2. How to do it…
        3. There's more...
      3. Installing HAProxy
        1. Getting ready
        2. How to do it...
      4. Configuring Galera cluster for MariaDB
        1. Getting ready
        2. How to do it...
        3. See also
      5. Installing RabbitMQ with mirrored queues
        1. Getting ready
        2. How to do it...
        3. There's more...
        4. See also
      6. Configuring highly available OpenStack services
        1. Get ready
        2. How to do it...
        3. See also
    11. 4. Keystone Identity Service
      1. Introduction
      2. Configuring Keystone with the MariaDB backend
        1. Getting ready
          1. Create Keystone database
          2. Open Keystone service Firewall ports
        2. How to do it...
          1. Install service packages
          2. Configure database connection
          3. Keystone service basic configuration
          4. Configure administrative token
      3. Generating and configuring tokens PKIs
        1. How to do it…
          1. Start and enable service
          2. Configuring Keystone endpoints
          3. Keystone administrator account
          4. Keystone user account
        2. There's more…
      4. Configuring Keystone with Microsoft Active Directory and LDAP
        1. Getting ready
        2. How to do it…
        3. See also
      5. Configuring Keystone caching with Memcached
        1. Getting ready
        2. How to do it…
        3. There's more…
        4. See also
      6. Securing Keystone with SSL
        1. Getting ready
        2. How to do it…
        3. There's more…
        4. See also
    12. 5. Glance Image Service
      1. Introduction
      2. Configuring Glance with the local file backend
        1. Getting ready
        2. How to do it...
        3. There's More..
          1. Verifying the configuration
      3. Configuring Glance with the NFS backend
        1. Getting ready
        2. How to do it...
        3. There's more…
      4. Configuring Glance with the Swift backend
        1. Getting ready
        2. How to do it...
        3. There's more…
        4. See also…
      5. Configuring Glance with the Ceph backend
        1. Getting ready
        2. How to do it...
        3. There's more…
        4. See Also…
      6. Configuring Glance image caching
        1. Getting Ready
        2. How to do it…
        3. There's More..
        4. See Also
      7. Configuring the Glance image size limit and storage quota
        1. How to do it...
        2. There's more…
    13. 6. Cinder Block Storage Service
      1. Introduction
      2. Configuring Cinder with the logical volume management backend driver
        1. Getting ready
        2. How to do it…
      3. Configuring Cinder with the Ceph RADOS block device backend driver
        1. Getting ready
        2. How to do it…
      4. Configuring Cinder with the Network File System (NFS) backend driver
        1. Getting ready
        2. How to do it…
      5. Configuring Cinder with the Ceph RBD backup driver
        1. Getting ready
        2. How to do it…
      6. Configuring Cinder with multiple backends
        1. Getting ready
        2. How to do it…
      7. Configuring Cinder scheduler filters and weighers
        1. Getting ready
        2. How to do it…
          1. Enabling capacity filter and weigher
          2. Enabling VolumeNumberWeigher
          3. Enabling and configuring DriverFilter and GoodnessWeigher
        3. See also
    14. 7. Neutron Networking Service
      1. Introduction
      2. Configuring Neutron VLAN provider network with ML2 and LinuxBridge
        1. Getting ready
        2. How to do it…
          1. Configuring the neutron core ML2 plugin
          2. Configuring the LinuxBridge plugin
            1. Configuring the L3 plugin
          3. Copy configuration and start services
        3. There's more...
      3. Configuring Neutron VXLAN and GRE tenant networks using Open vSwitch
        1. Getting ready
        2. How to do it…
          1. Configuring the neutron core ML2 plugin
          2. Configuring the Open vSwitch plugin
          3. Copy configuration and start services:
        3. There's more...
      4. Configuring the L3 agent with Open vSwitch
        1. Getting ready
        2. How to do it…
        3. There's more...
      5. Configuring the DHCP service agent
        1. How to do it…
      6. Configuring LoadBalancer as a service
        1. Getting ready
        2. How to do it…
        3. There's more...
      7. Configuring Firewall as a Service
        1. How to do it…
        2. There's more…
    15. 8. Nova-Compute Service
      1. Introduction
        1. Nova access services
        2. Nova management services
        3. Nova-compute worker service
        4. Nova network services
      2. Configuring Nova Hypervisors
      3. Configuring Nova-compute with KVM Hypervisor
        1. Getting ready
        2. How to do it…
      4. Configuring Nova-compute with a QEMU Hypervisor emulation
        1. How to do it…
        2. Configuring Nova scheduling
      5. Configuring Nova scheduler filters
        1. Getting ready
        2. How to do it…
          1. Filter operational and enabled hosts by ComputeFilter
          2. Multiple scheduling retries with RetryFilter
          3. Memory overcommitment with RamFilter
          4. CPU overcommitment with CoreFilter
          5. Ephemeral disk overcommitment with DiskFilter
          6. ImagePropertiesFilter
          7. Configuring instances affinity group with ServerGroupAffinityFilter
          8. Configuring instances anti-affinity group with ServerGroupAntiAffinityFilter
      6. Configuring Nova host aggregates
        1. Getting ready
        2. How to do it…
      7. Configuring Nova host aggregates filters
        1. How to do it…
          1. AggregateCoreFilter
          2. AggregateDiskFilter
          3. AggregateRamFilter
          4. AggregateNumInstancesFilter
      8. Configuring Nova scheduler weights
        1. Getting ready
        2. How to do it…
          1. Enabling compute metrics monitoring
          2. Enabling and configuring weights scheduling
    16. 9. Horizon Dashboard Service
      1. Introduction
      2. Securing Horizon with Secure Socket Layer
        1. Getting ready
        2. How to do it…
        3. There's more...
      3. Configuring Horizon caching with memcached
        1. Getting started
        2. How to do it…
      4. Customizing Horizon dashboard appearance
        1. Changing the OpenStack Horizon landing page logos
        2. How to do it…
        3. There's more…
    17. Index

Product information

  • Title: Production Ready OpenStack - Recipes for Successful Environments
  • Author(s): Arthur Berezin
  • Release date: October 2015
  • Publisher(s): Packt Publishing
  • ISBN: 9781783986903