Common OpenStack Deployments: Real-World Examples for Systems Administrators and Engineers

Book description

OpenStack is today’s leading technology for building and integrating public and private clouds. Common OpenStack Deployments is a complete, practical guide to deploying OpenStack and understanding its internals. Key project contributor Elizabeth Joseph, with expert implementer Matt Fischer, shares up-to-date recipes for deploying OpenStack on both virtual and physical servers, and for using OpenStack to address any real-world challenge.

First, Joseph and Fischer help you master OpenStack concepts and components by guiding you through small-scale, virtualized deployments. As you deepen your understanding, they guide you through building large, horizontally scalable infrastructures that integrate multiple components in a feature-rich cloud environment. Throughout, you’ll find up-to-the minute coverage of enhancements that make the OpenStack platform more mature and production ready, plus expert tips on debugging and growth.

The authors conclude by introducing the broader OpenStack ecosystem, showing you how to drive value through hybrid clouds blending local and hosted solutions. Drawing on extensive personal experience, they address issues ranging from cost to data sovereignty and security.

Common OpenStack Deployments is the ideal resource for all network and data center professionals who want to apply OpenStack in proof-of-concept or in production, and for every instructor or student who wants to leverage today’s hottest cloud technology.

Comprehensive coverage includes

  • Customizing, deploying, and scaling OpenStack in any environment

  • Quickly building single-server test deployments with DevStack

  • Making the right networking decisions for any OpenStack deployment

  • Manually installing Nova compute, Keystone identity, Glance image storage, and Neutron networking

  • Setting up controllers and compute nodes

  • Deploying private compute clouds with Puppet

  • Metering clouds with Ceilometer

  • Implementing block and object storage clouds

  • Provisioning on bare metal with OpenStack Ironic

  • Controlling containers with OpenStack Magnum

  • Troubleshooting OpenStack: error messages, logs, tools, configuration problems, Puppet debugging, and more

  • Step-by-step virtualized reference deployment using KVM/QEMU on Ubuntu

Table of contents

  1. Cover
  2. About This E-Book
  3. Title Page
  4. Copyright Page
  5. Dedication Page
  6. Contents
  7. Preface
    1. Audience
    2. Goals and Vision
    3. System Prerequisites
      1. Ubuntu
      2. Puppet
    4. Tour
    5. Conventions
    6. Supplementary Materials
  8. Acknowledgments
  9. About the Author
  10. 1. What Is OpenStack?
    1. The Cloud
      1. OpenStack Joins the Cloud
    2. Building Your Cloud
    3. Uses
    4. Key Components
      1. Instances
      2. Queuing
      3. Dashboard (Horizon)
      4. Compute (Nova)
      5. Identity (Keystone)
      6. Networking (Neutron)
      7. Image Service (Glance)
      8. Block Storage (Cinder)
      9. Object Storage (Swift)
      10. Telemetry (Ceilometer)
      11. Bare Metal (Ironic)
      12. Orchestration (Heat)
      13. Containers (Magnum)
      14. Other Projects
    5. Release Cycle
      1. Ubuntu Long Term Support
      2. Ubuntu Cloud Archive
      3. Puppet Modules
    6. Summary
  11. I: First Deployments
    1. 2. DevStack
      1. What Is DevStack?
        1. Developer Usage
        2. Training Usage
        3. Continuous Integration Usage
      2. DevStack Requirements
      3. Deploying DevStack
        1. Dashboard: Log In as a User
        2. Dashboard: Log In as an Administrator
        3. Working with the Host on the Command Line
      4. DevStack Options
        1. DevStack “Stable”
        2. Customizing DevStack
      5. Summary
    2. 3. Networking
      1. Key Concepts
        1. Planes of Operation
        2. Provider Network
        3. Tenant Networking
        4. Maximum Transmission Unit (MTU)
      2. Deployment Requirements
      3. Traffic Flow
        1. Controller Node
        2. Compute Node
      4. Other Resources
      5. Summary
    3. 4. Your First OpenStack
      1. Requirements
        1. Reference Deployment
      2. Initial Setup
        1. Networking
        2. Operating System
        3. System Configuration
      3. OpenStack Components
        1. Controller Node
        2. Compute Node
      4. Manage an Instance
      5. Summary
  12. II: Deployments
    1. 5. Foundations for Deployments
      1. Requirements
        1. Reference Deployment
        2. Networking
        3. Select Deployment Mechanism
      2. Initial Setup
      3. Select Components
        1. Identity (Keystone)
        2. Database (MySQL)
        3. Message Queuing (RabbitMQ)
        4. Networking (Neutron)
        5. Compute (Nova)
        6. Image (Glance)
        7. Dashboard (Horizon)
      4. Foundation Scenario
        1. Controller Node
        2. Compute Node
        3. Troubleshooting
      5. Summary
    2. 6. Private Compute Cloud
      1. Uses
        1. Government Organization
        2. Major Company
      2. Requirements
        1. Select Components
      3. Scenario
        1. Launching an Instance: Dashboard
        2. Launching an Instance: OpenStack Client
        3. Running a Service
        4. SDKs and the OpenStack API
      4. Summary
    3. 7. Public Compute Cloud
      1. Uses
        1. Traditional Technology Company
        2. Web Hosting Company
      2. Requirements
        1. Select Components
      3. Architecture Overview
      4. Scenario
        1. Controller Node Setup
        2. Compute Node Setup
        3. Viewing Statistics: Dashboard
        4. Viewing Statistics: Command Line Client
      5. Handling Metrics and Alerts
      6. Summary
    4. 8. Block Storage Cloud
      1. Uses
        1. Cloud Provider
        2. Data Processing
        3. Keeping Backups
      2. Requirements
        1. Select Components
      3. Architecture Overview
      4. Scenario
        1. Controller Node Setup
        2. Creating and Attaching a Volume: Dashboard
        3. Creating and Attaching a Volume: OpenStack Client
        4. Using the Volume
        5. Automation
      5. Summary
    5. 9. Object Storage Cloud
      1. Uses
        1. Web Hosting Company
        2. File Sync and Sharing
        3. Log Storage
      2. Requirements
        1. Select Components
        2. Key Concepts
      3. Scenario
        1. Controller Node Setup
        2. Creating a Container and Object: Dashboard
        3. Creating a Container and Object: OpenStack Client
        4. Using an Object
      4. Beyond Swift
      5. Summary
    6. 10. Bare Metal Provisioning
      1. Uses
        1. Cloud Hosting Company
        2. Internal Cloud
        3. Database Hosting
        4. High-Performance Computing
      2. Architecture Overview
        1. Installation
        2. Using Ironic
        3. Managing Ironic
      3. Community
      4. Summary
    7. 11. Controlling Containers
      1. What Is a Container?
      2. Uses
        1. Public Cloud Company
        2. Online Gaming Company
      3. Container Drivers for Nova
      4. Magnum
        1. Magnum Concepts
        2. Installing Magnum
      5. Summary
  13. III: Scaling and Troubleshooting
    1. 12. A Whole Cloud
      1. Uses
      2. Requirements
        1. Select Components
      3. Scenario
        1. Controller Node Setup
        2. Compute Node Setup
        3. Exploring the Deployment: Dashboard
        4. Exploring the Deployment: Command Line Client
      4. A Bigger Cloud
        1. High Availability and Scaling
        2. Additional Components
      5. Summary
    2. 13. Troubleshooting
      1. Reading Displayed Errors
      2. Logs
        1. Debug Mode
        2. Understanding Log Messages
      3. Key Services
      4. Networking
        1. Network Debugging Tools
        2. ip and Network Name Spaces
        3. tcpdump
        4. MTUs
        5. Open vSwitch and Linux Bridges
        6. iptables
      5. Configuration Files
      6. Puppet
        1. Exploring the Modules
        2. More Puppet Help
      7. Mitigating Breakage
      8. Requesting Help
      9. Summary
    3. 14. Vendors and Hybrid Clouds
      1. Vendor Ecosystem
      2. Public and Hybrid Clouds
        1. Public Clouds
        2. Hybrid Clouds
      3. Vendor Lock-in
        1. Migrate to a New Cloud You Run
        2. Migrate to a Cloud Run by a Vendor
      4. Summary
    4. A. Reference Deployment
      1. Requirements
      2. Installation
      3. Recommendations
    5. B. Other Deployment Mechanisms
      1. Chef
      2. Ansible
      3. SaltStack and Others
      4. Vendor-Specific
    6. C. Long-lived Puppet
      1. Puppet Master or Masterless?
      2. Hiera
        1. Passwords in Hiera
      3. Node Classification
      4. Module Management
      5. Software Life Cycle
      6. Roles and Profiles
      7. Packages
      8. Revision Control
      9. What Else Belongs in Your Composition Module?
      10. More Information
    7. D. Contributing Code to OpenStack
      1. Contribution Overview
        1. Release Cycle
        2. Communication
        3. Specifications
        4. Bug and Feature Tracking
        5. Git and Code Review
        6. Testing Infrastructure
        7. Other Contributions
    8. E. OpenStack Client (OSC)
      1. Basics
        1. Authentication
        2. Commands
        3. Interactive Mode
      2. Quick Reference
    9. F. Finding Help with OpenStack
      1. Documentation
      2. Mailing Lists
      3. Web-Based
      4. Chat
      5. Conferences and User Groups
        1. OpenStack Summits
        2. OpenStack Ops Meetup
        3. OpenStack User Groups
      6. Vendors
  14. Index
  15. Code Snippets

Product information

  • Title: Common OpenStack Deployments: Real-World Examples for Systems Administrators and Engineers
  • Author(s): Elizabeth K. Joseph, Matthew Fischer
  • Release date: September 2016
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780134084756