You are previewing Mastering OpenStack.
O'Reilly logo
Mastering OpenStack

Book Description

Design, deploy, and manage a scalable OpenStack infrastructure

In Detail

This comprehensive guide will help you to choose the right practical option and make strategic decisions about the OpenStack cloud environment to fit your infrastructure in production.

At the start, this book will explain the OpenStack core architecture. You will soon be shown how to create your own OpenStack private cloud.

Next, you will move on to cover the key security layer and network troubleshooting skills, along with some advanced networking features. Finally, you will gain experience of centralizing and logging OpenStack. The book will show you how to carry out performance tuning based on OpenStack service logs.

By the end of this book, you will be ready to take steps to deploy and manage an OpenStack cloud with the latest open source technologies.

What You Will Learn

  • Explore the main architecture design of OpenStack components, core-by-core services, and how they work together

  • Learn how to distribute OpenStack services among cluster setup

  • Compare different storage solutions and driver extensions

  • Design different high availability scenarios and how to plan for a no Single Point Of Failure environment

  • Set up a multinode environment in production using orchestration tools

  • Boost OpenStack performance with advanced configuration

  • Establish a distributed monitoring solution and keep track of resource consumption

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Mastering OpenStack
      1. Table of Contents
      2. Mastering OpenStack
      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. Downloading the example code
          2. Downloading the color images of this book
          3. Errata
          4. Piracy
          5. Questions
      8. 1. Designing OpenStack Cloud Architecture
        1. OpenStack – think again
        2. Introducing the OpenStack logical architecture
          1. Keystone
          2. Swift
          3. Glance
          4. Cinder
          5. Nova
            1. nova-api
            2. nova-compute
            3. nova-volume
            4. nova-network
            5. nova-scheduler
          6. Queue
          7. Database
          8. Neutron
            1. The Neutron architecture
          9. Horizon
        3. Gathering the pieces and building a picture
          1. Provisioning a flow under the hood
          2. Expanding the picture
        4. A sample architecture setup
          1. Deployment
            1. The conceptual model design
            2. The logical model design
              1. What about storage?
              2. Networking
                1. The logical networking design
                2. Network layout
                  1. The external network
                  2. The storage network
                  3. The management network
                  4. The internal VM traffic
            3. The physical model design
              1. Estimating your hardware capabilities

              2. CPU calculations
              3. Memory calculations
              4. The network calculations
              5. Storage calculations
              6. Best practices
        5. Summary
      9. 2. Deploying OpenStack – DevOps and OpenStack Dual Deal
        1. DevOps in a nutshell
          1. DevOps and cloud – everyone is coding
          2. DevOpsing OpenStack
            1. Breaking down the OpenStack pieces
          3. Making the infrastructure deployment professional
          4. Bringing OpenStack to the chain
            1. Continuous integration and delivery
        2. Eat the elephant
          1. Preparing the infrastructure code environment
          2. The Chef environment
            1. Prerequisites for settings
              1. The Chef server installation
              2. Workstation installation
            2. Time to cook OpenStack
              1. Where is my kitchen?
              2. OpenStack cookbooks
              3. Resolving OpenStack cookbook dependencies
              4. Uploading cookbooks using Berkshelf
              5. Defining roles
              6. Configuring the environment
        3. Summary
      10. 3. Learning OpenStack Clustering – Cloud Controllers and Compute Nodes
        1. Understanding the art of clustering
          1. Asymmetric clustering
          2. Symmetric clustering
        2. Divide and conquer
          1. The cloud controller
            1. nova-conductor
            2. nova-scheduler
            3. X-api
            4. Image management
            5. Network outfit
            6. The Horizon decision
            7. Planning for the message queue
            8. Consolidating the database
          2. Cloud controller clustering
            1. Cooking the cloud controller
          3. The compute node
            1. Overcommitment considerations
              1. The CPU allocation ratio
              2. The RAM allocation ratio
            2. Deciding on the hypervisor
              1. Changing the color of the hypervisor
            3. Storing instances' alternatives
              1. External shared file storage
              2. Internal nonshared file storage
            4. Cooking the compute node
          4. Preparing for plan B
            1. Back up with backup-manager
            2. Simple recovery steps
        3. Summary
      11. 4. Learning OpenStack Storage – Deploying the Hybrid Storage Model
        1. Understanding the storage types
          1. Ephemeral storage
          2. Persistent storage
            1. Object storage is not NAS/SAN
          3. A spotlight on Swift
            1. The Swift architecture
              1. Fire and forget
              2. Indexing the data
              3. A rich API access
            2. Physical design considerations
              1. Where is my data?
            3. Swift hardware
              1. Where to place what
            4. The Swift network
        2. Cooking Swift
          1. Joining Cinder
        3. Choosing the storage
          1. CAP under scope
          2. Stirring up the storage
            1. Cinder can do more
              1. The Cinder use case
            2. Beyond Cinder – Ceph
              1. Ceph in OpenStack
              2. Cooking Ceph
              3. Storing images in Ceph
        4. Summary
      12. 5. Implementing OpenStack Networking and Security
        1. The story of an API
        2. Security groups
          1. Managing the security groups using Horizon
          2. Managing the security groups using the Neutron CLI
          3. Managing the security groups using the Nova CLI
          4. An example of a web server DMZ
        3. Firewall as a Service
          1. Coupling a firewall with Neutron
          2. The Neutron plugin
            1. There can be more than one plugin
            2. Empowering the traffic isolation
          3. VPN as a Service – a case study
            1. General settings
            2. VPNaaS configuration
              1. Creating the Internet Key Exchange policy
              2. Creating an IPSec policy
              3. Creating a VPN service
              4. Creating an IPSec site connection
        4. Summary
      13. 6. OpenStack HA and Failover
        1. HA under the scope
          1. Do not mix them
          2. HA levels in OpenStack
          3. A strict service-level agreement
        2. Measuring HA
          1. The HA dictionary
          2. Hands on HA
            1. Understanding HAProxy
              1. Services should not fail
              2. The load balancer should not fail
            2. OpenStack HA under the hood
              1. HA the database
              2. HA in the queue
              3. Keep calm and use HA
                1. Implementing HA on MySQL
                2. Implementing HA on RabbitMQ
                3. Implementing HA on OpenStack cloud controllers
                4. Implementing HA on network nodes
        3. Summary
      14. 7. OpenStack Multinode Deployment – Bringing in Production
        1. Confirming the multinode setup
          1. Assigning physical nodes
          2. Preparing the OpenStack Initiator
        2. The network topology
          1. The OpenStack network mode
          2. The physical network topology
        3. The OpenStack deployment
          1. The MIN installation
          2. Chef server preinstallation
          3. Discover and cook
            1. Cooking time
            2. Testing the cloud
            3. Arming the deployment
              1. Bringing HA into action
              2. Adapting the deployment
              3. Running first tenant
        4. Summary
      15. 8. Extending OpenStack – Advanced Networking Features and Deploying Multi-tier Applications
        1. Navigating through Neutron
          1. Neutron plugins
            1. Virtual switching infrastructure
              1. The Linux Bridge plugin
              2. The Open vSwitch plugin
          2. Load Balancer as a Service
            1. Work around LBaaS
            2. Integrate LBaaS in the cloud
            3. Stack in OpenStack
              1. HOT explained
              2. Installing heat
              3. Heating things up
        2. Summary
      16. 9. Monitoring OpenStack – Ceilometer and Zabbix
        1. Telemetry in OpenStack – Ceilometer
          1. Ceilometer definition
          2. Ceilometer glossary
          3. The Ceilometer architecture
          4. The Ceilometer installation
        2. Ceilometer and heat
          1. Autoscaling
            1. Extending HOT for alarming
        3. Arming OpenStack monitoring
          1. Zabbix in action
            1. Placing Zabbix
            2. Installing the Zabbix server
            3. Configuring the Zabbix agent on OpenStack nodes
              1. Watching OpenStack
        4. Summary
      17. 10. Keeping Track for Logs – Centralizing Logs with Logstash
        1. Tackling logging
          1. Demystifying logs in OpenStack
            1. The log's location
            2. Adjusting logs in OpenStack
        2. Two eyes are better than one eye
          1. Logstash under the hood
            1. The Logstash workflow
          2. Placing the Logstash server
            1. Installing the Logstash server
            2. Configuring Logstash
              1. Logstash at your beck and call
              2. Filtering the OpenStack logs
              3. Visualizing the OpenStack logs
        3. Summary
      18. 11. Tuning OpenStack Performance – Advanced Configuration
        1. Pushing the limits of the database
          1. Deciding the resources outfit
          2. Caching for OpenStack
            1. Memcached in OpenStack
              1. Integrating memcached
        2. Stressing RabbitMQ
        3. Benchmarking OpenStack at scale
          1. Rally in a nutshell
          2. Meeting OpenStack SLA
          3. Installing Rally
          4. Rally in action
            1. Scenario example 1
            2. Scenario example 2
        4. Summary
      19. Index