View
12
Download
0
Category
Preview:
Citation preview
Copyright © 2014 Mirantis, Inc. All rights reserved
software.mirantis.com
ContainersOpenStack ↵
January 27, 2015
Murano brings Docker & Kubernetes to OpenStack
Serg Melikyan
Copyright © 2015 Mirantis, Inc. All rights reserved
Agenda
● Introduction● Murano● Kubernetes
● Empowering● Docker on OpenStack● Kubernetes on OpenStack
● Get involved!
Copyright © 2015 Mirantis, Inc. All rights reserved
Introducing Murano
What Murano is about?
Copyright © 2014 Mirantis, Inc. All rights reserved
Murano
Mission: Introduce an application catalog to OpenStack, enabling application developers
and cloud administrators to publish various cloud-ready applications in a browsable categorized catalog.
Application Catalog for Openstack
Copyright © 2015 Mirantis, Inc. All rights reserved
Roles
● End-user● Browse catalog● Create deployment from building blocks
● Cloud Administrator● Provide applications to the users● Control content & usage
● Application Developer● Develop applications using known SDK● Deliver own applications to different clouds
Copyright © 2015 Mirantis, Inc. All rights reserved
Use Cases
● Self-service application provisioning● Integration of non-cloud resources with OpenStack● Repeatable deployments for prod/staging environments● Standard building blocks for different application stacks ● Abstraction of underlying IaaS resources
Copyright © 2014 Mirantis, Inc. All rights reserved
Murano
● Application catalog for OpenStack● Provides dynamic applications configuration● Application life-cycle actions● Resource provisioning through Heat● Supports Windows, Linux, ...● Supports multiple package formats
● HOT Templates● Murano PL
Copyright © 2014 Mirantis, Inc. All rights reserved
● Composed of Applications and their Dependencies
● Detects the types of dependencies automatically
● Can be changed at any time
Application Environments
Murano Environment is a logical representation of multi-tier applications. It uses Murano applications as building blocks to create multiple layers of application stack.
HTTPd
WordPress MySQL
Copyright © 2014 Mirantis, Inc. All rights reserved
Application Dependencies
monitoring
AbstractMonitoring
Nagios Monitoring Implementation
Ceilometer Monitoring Implementation
Zabbix Monitoring Implementation
Your own Monitoring Implementation
Copyright © 2015 Mirantis, Inc. All rights reserved
Introducing Kubernetes
What Kubernetes is about?
Copyright © 2014 Mirantis, Inc. All rights reserved
Kubernetes
Mission: Introduce an cluster management system for
Linux containers as a single system to accelerate Dev and simplify Ops..
Manager for container clusters
Copyright © 2014 Mirantis, Inc. All rights reserved
Kubernetes
● Node - is a worker node in Kubernetes
● Pod - A pod corresponds to a colocated group of applications running with a shared context
Copyright © 2014 Mirantis, Inc. All rights reserved
Replications & Discovery
Copyright © 2015 Mirantis, Inc. All rights reserved
Bringing Docker & Kubernetes
How we brought Docker & Kubernetes to OpenStack?
Copyright © 2014 Mirantis, Inc. All rights reserved
Applications
● Interfaces● Docker Application● ...
● Docker● Docker Standalone Host
● Kubernetes● Kubernetes Pod● Kubernetes Cluster
● Implements Docker Application● May be hosted on Docker Standalone Host● Or Kubernetes Pod● Reference httpd container on Docker Hub● Information about ports & env variables
Copyright © 2014 Mirantis, Inc. All rights reserved
Docker & Murano
Murano
VM
Copyright © 2014 Mirantis, Inc. All rights reserved
Kubernetes & Murano
Murano
Copyright © 2014 Mirantis, Inc. All rights reserved
Kubernetes
● 3 kind of nodes● Master node running Kubernetes API● Minion nodes used to run Docker containers (apps)● Gateway nodes used to route and load balance traffic from outside of
the Kubernetes Cluster (Internet, another Kubernetes)● Ability to resize Kubernetes clusters/applications
Copyright © 2014 Mirantis, Inc. All rights reserved
Example
Copyright © 2014 Mirantis, Inc. All rights reserved
Example
Copyright © 2014 Mirantis, Inc. All rights reserved
Example
Copyright © 2014 Mirantis, Inc. All rights reserved
Example
Copyright © 2015 Mirantis, Inc. All rights reserved
How to get them?
http://apps.openstack.org
Copyright © 2015 Mirantis, Inc. All rights reserved
How to get them?
http://apps.openstack.org
Copyright © 2015 Mirantis, Inc. All rights reserved
How to get involved?
● openstack/murano-apps at review.openstack.org● git clone http://github.com/openstack/murano-apps● git commit● git review
● published at http://apps.openstack.org
Copyright © 2015 Mirantis, Inc. All rights reserved
How much it took?
● 1.5 FTE● 3 weeks
It Works!
Copyright © 2014 Mirantis, Inc. All rights reserved
Thank you
Project Links:● https://launchpad.net/murano● https://wiki.openstack.org/wiki/Murano● https://murano.readthedocs.org
MailingList:openstack-dev@openstack.orgwith [Murano] in the subject
Weekly IRC meeting is held on Tuesdays at 17:00 UTC on #openstack-meeting-alt at Freenode.
Copyright © 2015 Mirantis, Inc. All rights reserved
Screencasts
● Openstack Application Catalog. Quick introduction● HA & Autoscaling for Applications● Docker Integration● Support for Heat based application● Composing Murano Application Package
Please, find more screencasts published on our wiki: https://wiki.openstack.org/wiki/Murano/Screencasts
Copyright © 2014 Mirantis, Inc. All rights reserved
Architecture
Copyright © 2015 Mirantis, Inc. All rights reserved
Communications
Engine
VM
AgentRMQ
APIRPC
OpenStack Dashboard
UIHTTP
RabbitMQ based async task/result queue
RabbitMQ based sync/async RPC using oslo.messaging
Stateless, HTTP, RESTful API with python-muranoclient
Copyright © 2014 Mirantis, Inc. All rights reserved
Murano Actions
● Associate specific workflow with Action● Expose WebHook to trig action● Can be triggered by any 3rd party tool● Can be triggered by Ceilometer alarms● Can be used in auto-scaling, HA, DR scenarios
Recommended