200 likes | 217 Views
Future of Containers in OpenStack Shubham Sharma Shu Muto Namrata Sitlani Madhuri Kumari. Agenda. Containers in OpenStack Openstack Components Introduction to Zun Architecture Integration with other OpenStack services Zun Features Demo - Zun UI. Containers in Openstack.
E N D
Future of Containers in OpenStack Shubham Sharma Shu Muto Namrata Sitlani Madhuri Kumari
Agenda • Containers in OpenStack • Openstack Components • Introduction to Zun • Architecture • Integration with other OpenStack services • Zun Features • Demo - Zun UI
Containers in Openstack • OpenStack 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 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 OpenStack resources. Allows access to full Docker API. Murano Provides an application catalog of containerized applications that can be deployed to an OpenStack cloud. Nova-docker Heat Docker Magnum Zun Provides an API to manage multitenant containers infrastructure leveraging Heat, Nova, and Neutron. Container service for OpenStack. Provides API(s) for launching and managing containers backed by different container technologies.
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.
Other Openstack Container Focused Projects Kolla Kuryr A Docker network plugin that uses Neutron to provide networking services to Docker containers. It provides containerised images for the common Neutron plugins. Kolla provides production-ready containers and deployment tools for operating OpenStack clouds.
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 14mins ~ 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 LBaaS, FWaaS, VPNaaS, Security Groups / NAT • Aims to support different Container Orchestration Engines like Kubernetes, Mesos, Docker Swarm
Zun • Zun (Higgins) is a Container service for OpenStack. • Aim to provide OpenStack 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 \ mysql:latest $ zun run -e WORDPRESS_DB_HOST=$mysql_ip \ -e WORDPRESS_DB_USER=root \ -e WORDPRESS_DB_PASSWORD=rootpass \ wordpress:latest Wordpress Neutron Net Mysql
Orchestration with Heat resources: db: type: OS::Zun::Container properties: image: mysql environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: wordpress 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 Wordpress Neutron Net Mysql
Integration with other OS services • Keystone • Glance • Heat • OpenStack Client • Horizon • Neutron/Kuryr • Cinder
Integration with other OS Services OpenStack API Native API Zun Deployment (Magnum) COE/Container Engine (Kubernetes, Docker, etc.) Monitoring (Telemetry?) Authentication (Keystone) Fuxi Kuryr Images (Glance) Storage (Cinder) Network (Neutron)
Zun Features • Container APIs • Container host management • Multi-tenancy • Neutron integration • Support multiple image repositories • Docker Hub • Glance • Heat Integration • Horizon Integration • OpenStackClient Integration