Book Image

Containerization with LXC

By : Konstantin Ivanov
Book Image

Containerization with LXC

By: Konstantin Ivanov

Overview of this book

In recent years, containers have gained wide adoption by businesses running a variety of application loads. This became possible largely due to the advent of kernel namespaces and better resource management with control groups (cgroups). Linux containers (LXC) are a direct implementation of those kernel features that provide operating system level virtualization without the overhead of a hypervisor layer. This book starts by introducing the foundational concepts behind the implementation of LXC, then moves into the practical aspects of installing and configuring LXC containers. Moving on, you will explore container networking, security, and backups. You will also learn how to deploy LXC with technologies like Open Stack and Vagrant. By the end of the book, you will have a solid grasp of how LXC is implemented and how to run production applications in a highly available and scalable way.
Table of Contents (17 chapters)
Containerization with LXC
About the Author
About the Reviewer
Customer Feedback

Deploying OpenStack with LXC support on Ubuntu

An OpenStack deployment may consist of multiple components that interact with each other through exposed APIs, or a message bus such as RabbitMQ, as shown in the following figure:

In this chapter, we'll deploy a minimum set of those components - Keystone, Glance, Nova, and Neutron - which will be sufficient to provision LXC containers and still take advantage of the scheduler logic and scalable networking that OpenStack provides.

For this tutorial, we are going to be using Ubuntu Xenial, and as of the time of this writing, the latest Newton OpenStack release. What is the name of that OpenStack release?

Preparing the host

To simplify things, we are going to use a single server to host all services with a minimum of 16 GB of RAM. In production environments, it's a common approach to separate each service into its own set of servers, for scalability and high availability. By following the steps in this chapter, you can easily deploy on multiple hosts...