OpenStack Containers · Introduce an application catalog to OpenStack, enabling application...

Post on 01-Feb-2020

3 views 0 download

Transcript of OpenStack Containers · Introduce an application catalog to OpenStack, enabling application...

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