Future of Containers in Open Stack Shubham Sharma
Future of Containers in Open. Stack Shubham Sharma Shu Muto Namrata Sitlani Madhuri Kumari
Agenda • Containers in Open. Stack • Openstack Components • Introduction to Zun • Architecture • Integration with other Open. Stack services • Zun Features • Demo - Zun UI
Containers in Openstack • Open. Stack is above all an integration engine, bringing various technologies together through common APIs. Therefore, containers have naturally been plugged into several existing projects and will find their way into other areas as well.
Openstack Containers Project Nova-docker Heat Docker A Docker hypervisor driver for Nova Compute to treat containers and images as the same type of resource as virtual machines. A plugin template for orchestrating Docker resources on top of Open. Stack resources. Allows access to full Docker API. Zun Container service for Open. Stack. Provides API(s) for launching and managing containers backed by different container technologies. Murano Provides an application catalog of containerized applications that can be deployed to an Open. Stack cloud. Magnum Provides an API to manage multitenant containers infrastructure leveraging Heat, Nova, and Neutron.
Heat Docker • Provide a Heat resource type for Docker. • Need to specify docker endpoint • Can orchestrate docker containers with other Heat resources
Magnum • Founded at the end of 2014 • Integrates various container orchestration engine (COE). • Leverage other Openstack components lie Heat, Nova, Neutron, Cinder etc • Manages infrastructure for running containers on Openstack. • Runs containers under VM/baremetal • COE: Swarm, kubernetes, Mesos
Murano • Application catalog to Openstack. • Provide a variety of applications and services, publishing and lifecycle management , and provide UI and API. The application is defined as anything YAQL language templates defined application.
Murano UI
Other Openstack Container Focused Projects Kolla Kuryr Kolla provides productionready containers and deployment tools for operating Open. Stack clouds. A Docker network plugin that uses Neutron to provide networking services to Docker containers. It provides containerised images for the common Neutron plugins.
Kolla Established in September 14. Allows packaging and deployment using Docker and Ansible Provides production ready Openstack service. Ease of deployment , simplified operation, upgrade and maintenance to enhance devops and operators experience. • Faster than devstack(comparison devstack 14 mins ~ 9 mins) • •
Kuryr • Its objective is to enable Neutron as the production ready networking abstraction containers need! • Map container networking abstractions to the Neutron API • Bring your container and VM networking together under one API • Implement all the common code for Neutron vendors allowing them to get to container networking by just having a binding script • Leverage Neutron advanced networking like LBaa. S, FWaa. S, VPNaa. S, Security Groups / NAT • Aims to support different Container Orchestration Engines like Kubernetes, Mesos, Docker Swarm
Zun • Zun (Higgins) is a Container service for Open. Stack. • Aim to provide Open. Stack API(s) for launching and managing containers backed by different container technologies. • Container runtimes: Docker, Rkt, Clear Conainer, etc. • COEs: Kubernetes, Docker Swarm, etc.
Zun Architecture Keystone Glance Zun API Zun Compute Docker Neutron Kuryr
Run Containers $ zun run -e MYSQL_ROOT_PASSWORD=rootpass -e MYSQL_DATABASE=wordpress $ zun run -e WORDPRESS_DB_HOST=$mysql_ip -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=rootpass wordpress: latest Wordpress Mysql Neutron Net mysql: latest
Orchestration with Heat resources : db: type: OS: : Zun: : Container properties : image: mysql Wordpress MYSQL_ROOT_PASSWORD : rootpass MYSQL_DATABASE : wordpress : type: OS: : Zun: : Container properties : image: "wordpress: latest" environment : WORDPRESS_DB_HOST : {get_attr: [db, addresses, private, 0, addr]} WORDPRESS_DB_USER : root WORDPRESS_DB_PASSWORD : rootpass Mysql Neutron Net environment :
Integration with other OS services • Keystone • Glance • Heat • Open. Stack Client • Horizon • Neutron/Kuryr • Cinder
Integration with other OS Services Open. Stack API Native API Zun Deployment (Magnum) Authentication (Keystone) COE/Container Engine (Kubernetes, Docker, etc. ) Images (Glance) Fuxi Kuryr Storage (Cinder) Network (Neutron) Monitoring (Telemetry? )
Zun Features • • Container APIs Container host management Multi-tenancy Neutron integration Support multiple image repositories • Docker Hub • Glance Heat Integration Horizon Integration Open. Stack. Client Integration
Thank You!!
- Slides: 20