OpenStack in Action
V. K. Cody Bumgardner
Foreword by Jay Pipes
  • March 2016
  • ISBN 9781617292163
  • 384 pages
  • printed in black & white

An excellent primer on the complex world of cloud computing and the OpenStack software ecosystem.

From the Foreword by Jay Pipes, OpenStack Technical Committee

OpenStack in Action offers the real world use cases and step-by-step instructions you can take to develop your own cloud platform from inception to deployment. This book guides you through the design of both the physical hardware cluster and the infrastructure services you'll need to create a custom cloud platform.

Table of Contents detailed table of contents




about this book

author online

about the authors

about the cover illustration

PART 1: Getting Started

1. Introducing OpenStack

1.1. What is OpenStack?

1.2. Understanding cloud computing and OpenStack

1.2.1. Abstraction and the OpenStack API

1.3. Relating OpenStack to the computational resources it controls

1.3.1. OpenStack and hypervisors

1.3.2. OpenStack and network services

1.3.3. OpenStack and storage

1.3.4. OpenStack and cloud terminology

1.4. Introducing OpenStack components

1.5. History of OpenStack

1.6. Summary

2. Taking an OpenStack test-drive

2.1. What is DevStack?

2.2. Deploying DevStack

2.2.1. Creating the server

2.2.2. Preparing the server environment

2.2.3. Preparing DevStack

2.2.4. Executing DevStack

2.3. Using the OpenStack Dashboard

2.3.1. Overview screen

2.3.2. Access & Security screen

2.3.3. Images & Snapshots screen

2.3.4. Volumes screen

2.3.5. Instances screen

2.4. Accessing your first private cloud server

2.4.1. Assigning a floating IP to an instance

2.4.2. Permitting network traffic to your floating IP

2.5. Summary

3. Learning basic OpenStack operations

3.1. Using the OpenStack CLI

3.2. Using the OpenStack APIs

3.3. Tenant model operations

3.3.1. The tenant model

3.3.2. Creating tenants, users, and roles

3.3.3. Tenant networks

3.4. Quotas

3.4.1. Tenant quotas

3.4.2. Tenant-user quotas

3.4.3. Additional quotas

3.5. Summary

4. Understanding private cloud building blocks

4.1.1. Understanding component communication

4.1.2. Distributed computing model

4.2.1. Using vendor storage systems with OpenStack

4.2.2. Using vendor network systems with OpenStack

4.3. Why walk through a manual deployment?

4.4. Summary

PART 2: Walkthrough a Manual Deployment

5. Walking through a Controller deployment

5.1. Deploying controller prerequisites

5.1.1. Preparing the environment

5.1.2. Configuring the network interface

5.1.3. Updating packages

5.1.4. Installing software dependencies

5.2. Deploying shared services

5.2.1. Deploying the Identity Service (Keystone)

5.2.2. Deploying the Image Service (Glance)

5.3. Deploying the Block Storage (Cinder) service

5.3.1. Creating the Cinder data store

5.3.2. Configuring a Cinder Keystone user

5.3.3. Creating the Cinder service and endpoint

5.3.4. Installing Cinder

5.4. Deploying the Networking (Neutron) service

5.4.1. Creating the Neutron data store

5.4.2. Configuring a Neutron Keystone user

5.4.3. Installing Neutron

5.5. Deploying the Compute (Nova) service

5.5.1. Creating the Nova data store

5.5.2. Configuring a Nova Keystone user

5.5.3. Assigning a role to the nova user

5.5.4. Creating the Nova service and endpoint

5.5.5. Installing the Nova controller

5.6. Deploying the Dashboard (Horizon) service

5.6.1. Installing Horizon

5.6.2. Accessing Horizon

5.6.3. Debugging Horizon

5.7. Summary

6. Walking through a Networking deployment

6.1. Deploying network prerequisites

6.1.1. Preparing the environment

6.1.2. Configuring the network interfaces

6.1.3. Updating packages

6.1.4. Software and configuration dependencies

6.1.5. Installing Open vSwitch

6.1.6. Configuring Open vSwitch

6.2. Installing Neutron

6.2.1. Installing Neutron components

6.2.2. Configuring Neutron

6.2.3. Configuring the Neutron ML2 plug-in

6.2.4. Configuring the Neutron L3 agent

6.2.5. Configuring the Neutron DHCP agent

6.2.6. Configuring the Neutron Metadata agent

6.2.7. Restarting and verifying Neutron agents

6.2.8. Creating Neutron networks

6.2.9. Relating Linux, OVS, and Neutron

6.2.10. Checking Horizon

6.3. Summary

7. Walking through a Block Storage deployment

7.1. Deploying Block Storage prerequisites

7.1.1. Preparing the environment

7.1.2. Configuring the network interface

7.1.3. Updating packages

7.1.4. Installing and configuring the Logical Volume Manager

7.2. Deploying Cinder

7.2.1. Installing Cinder

7.2.2. Configuring Cinder

7.2.3. Restarting and verifying the Cinder agents

7.3. Testing Cinder

7.3.1. Create a Cinder volume: command line

7.3.2. Create a Cinder volume: Dashboard

7.4. Summary

8. Walking through a Compute deployment

8.1. Deploying Compute prerequisites

8.1.1. Preparing the environment

8.1.2. Configuring the network interface

8.1.3. Updating packages

8.1.4. Software and configuration dependencies

8.1.5. Installing Open vSwitch

8.1.6. Configuring Open vSwitch

8.2. Installing a hypervisor

8.2.1. Verifying your host as a hypervisor platform

8.2.2. Using KVM

8.3. Installing Neutron on Compute nodes

8.3.1. Installing the Neutron software

8.3.2. Configuring Neutron

8.3.3. Configuring the Neutron ML2 plug-in

8.4. Installing Nova on compute nodes

8.4.1. Installing the Nova software

8.4.2. Configuring core Nova components

8.4.3. Checking Horizon

8.5. Testing Nova

8.5.1. Creating an instance (VM): command line

8.6. Summary

PART 3: Building a Production Environment

9. Architecting your OpenStack

9.1. Replacement of existing virtual server platforms

9.1.1. Making deployment choices

9.1.2. What kind of network are you?

9.1.3. What type of storage are you?

9.1.4. What kind of server are you?

9.2. Why build a private cloud?

9.2.1. Public cloud economy-of-scale myth

9.2.2. Global scale or tight control

9.2.3. Keeping data gravity private

9.2.4. Hybrid moments

9.3. Building a private cloud

9.3.1. OpenStack deployment tools

9.3.2. Networking in your private cloud

9.3.3. Storage in your private cloud

9.4. Summary

10. Deploying Ceph

10.1. Preparing Ceph nodes

10.1.1. Node authentication and authorization

10.1.2. Deploying Ceph software

10.2. Creating a Ceph cluster

10.2.1. Creating the initial configuration

10.2.2. Deploying Ceph software

10.2.3. Deploying the initial configuration

10.3. Adding OSD resources

10.3.1. Readying OSD devices

10.3.2. Creating OSDs

10.4. Basic Ceph operations

10.4.1. Ceph pools

10.4.2. Benchmarking a Ceph cluster

10.5. Summary

11. Automated HA OpenStack deployment with Fuel

11.1. Preparing your environment

11.1.1. Network hardware

11.1.2. Server hardware

11.2. Deploying Fuel

11.2.1. Installing Fuel

11.3. Web-based basic Fuel OpenStack deployment

11.3.1. Server discovery

11.3.2. Creating a Fuel deployment environment

11.3.3. Configuring the network for the environment

11.3.4. Allocating hosts to your environment

11.3.5. Final settings and verification

11.3.6. Deploying changes

11.4. Summary

12. Cloud orchestration using OpenStack

12.1. OpenStack Heat

12.1.1. Heat templates

12.1.2. A Heat demonstration

12.2. Ubuntu Juju

12.2.1. Preparing OpenStack for Juju

12.2.2. Installing Juju

12.2.3. Deploying the charms CLI

12.2.4. Deploying the Juju GUI

12.3. Summary


Appendix A: Installing Linux

A.1. Initial Configuration

A.2. Network Configuration

A.2.1. Manual Configuration of Adapter

A.2.2. Configure host and domain names

A.3. User Configuration

A.4. Disk and Partitions

A.4.1. Configuring the block device (hard drive)

A.4.2. Configure root and swap partitions and mount points

A.4.3. Finalize disk configuration

A.5. Base system configuration

About the Technology

OpenStack is an open source framework that lets you create a private or public cloud platform on your own physical servers. You build custom infrastructure, platform, and software services without the expense and vendor lock-in associated with proprietary cloud platforms like Amazon Web Services and Microsoft Azure. With an OpenStack private cloud, you can get increased security, more control, improved reliability, and lower costs.

About the book

OpenStack in Action offers real-world use cases and step-by-step instructions on how to develop your own cloud platform. This book guides you through the design of both the physical hardware cluster and the infrastructure services you’ll need. You’ll learn how to select and set up virtual and physical servers, how to implement software-defined networking, and technical details of designing, deploying, and operating an OpenStack cloud in your enterprise. You’ll also discover how to best tailor your OpenStack deployment for your environment. Finally, you’ll learn how your cloud can offer user-facing software and infrastructure services.

What's inside

  • Develop and deploy an enterprise private cloud
  • Private cloud technologies from an IT perspective
  • Organizational impact of self-service cloud computing

About the reader

No prior knowledge of OpenStack or cloud development is assumed.

About the author

Cody Bumgardner is the Chief Technology Architect at a large university where he is responsible for the architecture, deployment, and long-term strategy of OpenStack private clouds and other cloud computing initiatives.

combo $54.99 pBook + eBook
eBook $43.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

Provides enough theory and practice to understand the subject matter with just the right level of detail.

Hafizur Rahman, Kii Corporation

A fundamental resource for learning, installing, and managing this exciting piece of cloud infrastructure.

Michael Hamrah, Getty Images

If you thought that AWS was the only player, you need to read this book.

Kosmas Chatzimichalis, Mach 7x