More Related Content
Similar to The Cloud Convergence: OpenStack and Kubernetes. (20)
The Cloud Convergence: OpenStack and Kubernetes.
- 1. Copyright © 2015 Mirantis, Inc. All rights reserved
www.mirantis.com
The Cloud Convergence:
OpenStack and Kubernetes.
Ihor Dvoretskyi
Operations Engineer
- 2. Copyright © 2015 Mirantis, Inc. All rights reserved
Murano: An OpenStack App Management Tool
● The Application catalog - a single-point to publish different ready-to-use
applications
● The Murano Project introduces an application catalog to OpenStack, enabling
application developers and cloud administrators to publish various cloud-
ready applications in a browsable categorized catalog.
● Murano ready-to-use applications are being published on Community App
Catalog - http://apps.openstack.org, source code is being published on
GitHub - https://github.com/openstack/murano.
● Murano provides possibility to to be abstract from underlying IaaS resources
● Murano supports multiple OS options (Linux & Windows)
- 3. Copyright © 2015 Mirantis, Inc. All rights reserved
Murano Architecture
● Murano Dashboard (UI)
○ Uses python murano client to call
Murano API
● Murano API
○ Exposes REST API
○ Sends tasks to the engine using
RabbitMQ
● Murano Engine
○ Listens for tasks on RabbitMQ
○ Sends API calls to Heat API
○ Sends tasks to agents via
RabbitMQ
● Murano Agent
○ Is located on guest VM’s
○ Listens for tasks from RabbitMQ
○ Returns results back to Murano
engine using RabbitMQ
- 4. Copyright © 2015 Mirantis, Inc. All rights reserved
Containers: benefits of usage
● Container - is a lightweight isolation technology that allows users to launch
applications in an isolated environment on Linux
● Containers usage is a totally different way of application management
● Containers have the huge benefits, that should be the perfect reasons to
prefer them over the alternative technologies:
○ Performance
○ Repeatability
○ Isolation
○ Portability
- 5. Copyright © 2015 Mirantis, Inc. All rights reserved
Containers - are not VMs
Containers VMs
Primary use case Containers are build for managing
applications, but not the
infrastructure
VM management solution has
capabilities for managing the
infrastructure (network, compute,
storage etc.)
Guest OS support For production environments only
Linux might be used natively
Any common operating system
Performance Containers do not incur
performance overhead
VMs incur performance overhead
Security and isolation Containers are using the shared
kernel - that’s not a full isolation
VMs are fully isolated, any kind of
failure will not affect other VM
Application management Containers are managed as a code
and do need specific management
software (e.g. Kubernetes)
VMs are managed as the fully-
loaded machines
- 6. Copyright © 2015 Mirantis, Inc. All rights reserved
Kubernetes as a container orchestration tool
● The predecessor of Kubernetes was the “Borg” container
orchestration tool, originally developed by Google.
● All the best ideas from Borg were incorporated into
Kubernetes, that is open sourced and is available for
everyone and runs everywhere
● Kubernetes is a container orchestrator that runs containers
and supports various underlying environments
- 7. Copyright © 2015 Mirantis, Inc. All rights reserved
Kubernetes components
Kubernetes consists of the following main components:
● Cluster - a set of nodes used by Kubernetes to run applications
● Node - a virtual or physical machine, where Kubelet is runned and where pods
can be created
● Pod - the smallest unit of Kubernetes - a colocated group of applications,
running the same context (e.g. - “Webserver”)
● Replication Controller - a loop that drives current state towards expected state
● Service - a set of running pods that run together (e.g. - load-balanced backends)
● Labels - identifying metadata attached to their objects (dev vs prod)
- 8. Copyright © 2015 Mirantis, Inc. All rights reserved
Kubernetes Multi-Node Architecture
- 9. Copyright © 2015 Mirantis, Inc. All rights reserved
Kubernetes & Murano Summary
● Docker provides:
○ The benefits of containers usage
● Kubernetes provides:
○ Portability, isolation from the underlying layers (infrastructure)
○ Container management, service discovery, load balancing
● Murano provides:
○ Ready-to-install applications
○ Cluster management
○ Infrastructure automation and autoscaling options
○ Application catalogue
● OpenStack provides:
○ Infrastructure as a Service layer for everything above
- 10. Copyright © 2015 Mirantis, Inc. All rights reserved
Demo
Demo deployment of Kubernetes cluster on OpenStack using
Murano