- Introduction to Docker
- The Kolla project
Docker allows you to package an application with all of its dependencies into a standardised unit for software development.
Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.
Containers running on a single machine all share the same operating system kernel so they start instantly and make more efficient use of RAM. Images are constructed from layered filesystems so they can share common files, making disk usage and image downloads much more efficient.
Docker containers are based on open standards allowing containers to run on all major Linux distributions and Microsoft operating systems with support for every infrastructure. But no, you cannot run Windows in a Docker container.
Containers isolate applications from each other and the underlying infrastructure while providing an added layer of protection for the application.
Containers have similar resource isolation and allocation benefits as virtual machines but a different architectural approach allows them to be much more portable and efficient.
Each virtual machine includes the application, the necessary binaries and libraries and an entire guest operating system - all of which may be tens of GBs in size.
Containers include the application and all of its dependencies, but share the kernel with other containers. They run as an isolated process in userspace on the host operating system. They’re also not tied to any specific infrastructure – Docker containers run on any linux kernel, on any infrastructure and in any cloud.
Kolla provides Docker containers and Ansible playbooks to meet Kolla's mission. Kolla is highly opinionated out of the box, but allows for complete customization. This permits operators with little experience to deploy OpenStack quickly and as experience grows modify the OpenStack configuration to suit the operator's exact requirements.
What we'll cover
- Main features
- Architecture
- Deployment
- What we've added
- Upcoming features
Main features
Kolla Architecture
HA Architecture
Deployment - In progress
Deployment - Completed
All in one node deployment ~ 15 minutes
Multinode deployment > 15 minutes
Some things that we've added
- Https support
- Libvirt via ssh
- Keystone fernet tokens
- Ceilometer
- Gnocchi
- Aodh
- Influxdb
- Neutron LBaaS agent
- DVR support
- MariaDB cluster recovery
- garbd to maintain quorum in Galera cluster
Upcoming features
- SELinux support
- Barbican
- iSCSI for Cinder
- Distributed logging with ELK + Heka