ovirt and Docker Integration

Similar documents
Docker All The Things

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

Running MarkLogic in Containers (Both Docker and Kubernetes)

[Docker] Containerization

Multi-Arch Layered Image Build System

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Using DC/OS for Continuous Delivery

Docker und IBM Digital Experience in Docker Container

Getting Started With Containers

Deployment Patterns using Docker and Chef

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

CONTAINERS AND MICROSERVICES WITH CONTRAIL

The Post-Cloud. Where Google, DevOps, and Docker Converge

A Greybeard's Worst Nightmare

Red Hat Roadmap for Containers and DevOps

Container Orchestration on Amazon Web Services. Arun

Important DevOps Technologies (3+2+3days) for Deployment

Harbor Registry. VMware VMware Inc. All rights reserved.

Docker and Security. September 28, 2017 VASCAN Michael Irwin

ROBIN SYSTEMS. Containerizing Oracle: Not Thinking About It Yet? You Should Be!!!

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018

Infoblox Kubernetes1.0.0 IPAM Plugin

Introduction to Docker. Antonis Kalipetis Docker Athens Meetup

OpenShift Dedicated 3 Release Notes

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Kuber-what?! Learn about Kubernetes

Docker and Oracle Everything You Wanted To Know

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

Cloud I - Introduction

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE

@briandorsey #kubernetes #GOTOber

Setting up Kubernetes with Day 2 in Mind. Angela Chin, Senior Software Engineer, Pivotal Urvashi Reddy, Senior Software Engineer, Pivotal

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

Red Hat OpenStack Platform 10 Product Guide

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Midterm Presentation Schedule

Operating and managing an Atomic container-based infrastructure

How Container Runtimes matter in Kubernetes?

UP! TO DOCKER PAAS. Ming

Container Security. Marc Skinner Principal Solutions Architect

Secure Kubernetes Container Workloads

Container-based virtualization: Docker

So, I have all these containers! Now what?

Welcome to Docker Birthday # Docker Birthday events (list available at Docker.Party) RSVPs 600 mentors Big thanks to our global partners:

CS-580K/480K Advanced Topics in Cloud Computing. Container III

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

Continuous Integration using Docker & Jenkins

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

SQL Server on Linux and Containers

Table of Contents 1.1. Overview. Containers, Docker, Registries vsphere Integrated Containers Engine

RED HAT GLUSTER TECHSESSION CONTAINER NATIVE STORAGE OPENSHIFT + RHGS. MARCEL HERGAARDEN SR. SOLUTION ARCHITECT, RED HAT BENELUX April 2017

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

Table of Contents 1.1. Introduction. Overview of vsphere Integrated Containers 1.2

Investigating Containers for Future Services and User Application Support

Convergence of VM and containers orchestration using KubeVirt. Chunfu Wen

An introduction to Docker

Docker 101 Workshop. Eric Smalling - Solution Architect, Docker

How to make your application into a Flatpak

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

VMware s (Open Source) Way of Container. Dr. Udo Seidel

ovirt Node June 9, 2012 Mike Burns ovirt Node 1

RED HAT'S CONTAINER STRATEGY. Lars Herrmann General Manager, RHEL, RHEV and Containers June 24, 2015

Introduction to containers

Orchestrating Docker containers at scale

개발자와운영자를위한 DevOps 플랫폼 OpenShift Container Platform. Hyunsoo Senior Solution Architect 07.Feb.2017

Who is Docker and how he can help us? Heino Talvik

Growth of Docker hub pulls

A Hands on Introduction to Docker

TEN LAYERS OF CONTAINER SECURITY. Kirsten Newcomer Security Strategist

" Qué me estás container?" Docker for dummies

Container Management : First Looks

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

DevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.

Knative: Building serverless platforms on top of Kubernetes

What s Up Docker. Presented by Robert Sordillo Avada Software

OpenStack Mitaka Release Overview

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

Portable, lightweight, & interoperable Docker containers across Red Hat solutions

Container-Native Storage

DevOps Technologies. for Deployment

Think Small to Scale Big

/ Cloud Computing. Recitation 5 February 14th, 2017

Red Hat Containers Roadmap. Red Hat A panel of product directors

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

An Introduction to Kubernetes

One year of Deploying Applications for Docker, CoreOS, Kubernetes and Co.

Building/Running Distributed Systems with Apache Mesos

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

ISLET: Jon Schipp, AIDE jonschipp.com. An Attempt to Improve Linux-based Software Training

Onto Petaflops with Kubernetes

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Using Network Virtualization in DevOps environments Yves Fauser, 22. March 2016 (Technical Product Manager VMware NSBU)

The age of orchestration

Transcription:

ovirt and Docker Integration October 2014 Federico Simoncelli Principal Software Engineer Red Hat 1

Agenda Deploying an Application (Old-Fashion and Docker) Ecosystem: Kubernetes and Project Atomic Current Status of Integration ovirt Docker User-Interface Plugin Dockerized ovirt Engine Docker on Virtualization Possible Future Integration Managing Containers as VMs Future Multi-Purpose Data Center 2

Deploying an Application (Old-Fashion) Deploying an instance of Etherpad # yum search etherpad Warning: No matches found for: etherpad No matches found $ unzip etherpad-lite-1.4.1.zip $ cd etherpad-lite-1.4.1 $ vim README.md... ## GNU/Linux and other UNIX-like systems You'll need gzip, git, curl, libssl develop libraries, python and gcc. *For Debian/Ubuntu*: `apt-get install gzip git-core curl python libssl-dev pkgconfig build-essential` *For Fedora/CentOS*: `yum install gzip git-core curl python openssl-devel && yum groupinstall "Development Tools"` *For FreeBSD*: `portinstall node, npm, git (optional)` Additionally, you'll need [node.js](http://nodejs.org) installed, Ideally the latest stable version, be careful of installing nodejs from apt.... 3

Installing Dependencies (Old-Fashion) 134 new packages required $ yum install gzip git-core curl python openssl-devel Transaction Summary ================================================================================ Install 2 Packages (+14 Dependent packages) $ yum groupinstall "Development Tools" Transaction Summary ================================================================================ Install 7 Packages (+19 Dependent packages) $ yum install nodejs Transaction Summary ================================================================================ Install 1 Package (+4 Dependent packages) $ yum install npm Transaction Summary ================================================================================ Install 1 Package (+86 Dependent packages) 4

Few dependencies later finally... $./bin/run.sh Ensure that all dependencies are up to date... If this is the first time you have run Etherpad please be patient. npm WARN engine helenus@0.6.2: wanted: {"node":">=0.6.0 <0.9.0"} (current: {"node":"v0.10.30","npm":"1.3.6"})... Will it work for me? The warning is coming from a third-party library, will it really affect Etherpad? What was the reason to not support node > 0.9.0? What should I do now? 5

Building and Deploying Requirements Distributing your application should be easy (one packaging system fits all) Freedom for the developer to choose the platform Dependencies should be magically available on all platforms The platform of the developer should be the same used by QA and the same used in production Rebuilding your appliance or application should be as easy as running one single command 7

What is? Open platform for developers and sysadmins to build, ship, and run distributed applications Docker Engine is a portable lightweight runtime and packaging tool Docker Hub is a cloud service for sharing applications and automating workflows (13,000+ applications available) Enables applications to be quickly assembled from components (eliminating the friction between development, QA, and production) The same application can run unchanged on laptops, data center VMs, and any cloud 8

Virtual Machine vs. App A App B Bins/Libs Bins/Libs Guest OS Guest OS Hypervisor Virtual Machine Application Necessary binaries and libraries Entire guest operating system Host OS App A Docker Container App B Bins/Libs Application Necessary binaries and libraries Uses the same kernel of the host Bins/Libs Host OS 9

Deploying with $ docker search etherpad NAME johbo/etherpad-lite mnagaku/docker-etherpad-lite... DESCRIPTION STARS 1 1 OFFICIAL AUTOMATED [OK] [OK] $ docker run johbo/etherpad-lite Generating settings file /data/etherpad-settings.json start... Up and running... $ docker ps CONTAINER ID IMAGE COMMAND d41cc9e20757 johbo/etherpad-lite:latest "bin/configure_and_r...created STATUS PORTS NAMES...2 minutes ago Up 2 minutes 9001/tcp sharp_poincare $ docker inspect d41cc9e20757... "ExposedPorts": { "9001/tcp": {} },... 10

Docker Images Dependencies PHP Apache My App 1 MySQL Django Base OS Each image may depend on another image which forms the layer beneath it All images are identified by a 64 hexadecimal digit string (internally a 256bit value) Images can be tagged 11

Docker Under The Hood Images Graph Drivers (aufs, btrfs, devmapper, vfs) Ability to quickly clone an image and apply changes Default is devmapper Host File-System (/var/lib/docker/devicemapper/devicemapper) Metadata (2Gb Sparse) Data (100Gb Sparse) Loop Device 0 Loop Device 1 Device Mapper Thin-P Device 1 (10Gb Thin) Device 2 (10Gb Thin) Image 1 Instance 1 12

Docker Ecosystem Overview Ecosystem has an extremely fast pace April 2014 Red Hat announces Project Atomic http://www.projectatomic.io June 2014 Google announces Kubernetes https://github.com/googlecloudplatform/kubernetes Hundreds of companies and projects joined the ecosystem in the last few months https://github.com/google/cadvisor https://github.com/zettio/weave ovirt contributors are actively monitoring the ecosystem and researching possible integration points 14

Ecosystem: Project Atomic Project Atomic Host: lightweight operating system that has been assembled out of upstream RPM content Integrates the tools and patterns of container-based application Providing an end-to-end solution for deploying containerized applications quickly and reliably Uses rpm-ostree, an open-source tool for managing bootable, immutable, versioned filesystem trees from upstream RPM content 15

Ecosystem: Kubernetes Open source implementation of container cluster management Uses Docker to package, instantiate, and run containerized applications (Pods) Establishes robust declarative primitives for maintaining the desired state requested by the user Automatically chooses hosts (Minions) to run those containers on (Scheduler) Architecturally, It is built as a collection of pluggable components and layers (ability to use alternative schedulers, storage systems, and distribution mechanisms) 16

Co-Existing with Containers Kubernetes Mesos 17

Integration with Containers 1.Utilities and tools to automate and simplify the deployment of Containers UI Plugin to run Containers in VMs Docker VM image available on public Glance repository ovirt Engine deployment as a Container 2.Enabling Containers Managers to use ovirt as IaaS to orchestrate Containers 3.Containers on ovirt Nodes 4.Possible evolution to a Multi-Purpose Data Center (different types of workloads) 18

Docker on ovirt UI Plugin Allows the user to create a new ovirt VM, that runs a selected Docker image running a specified command Uses the Cloud-Init integration in order to pass the Docker commands to the guest Docker image is downloaded from the public registry to the VM on first launch http://ovedou.blogspot.co.il/2014/03/running-docker-container-in-ovirt.html 19

Docker on ovirt UI Plugin Code available in the ovirt samples-uiplugins repository In order to use it you need the Docker Service, CloudInit, and ovirt-guest-agent ("CentOS 6.5 64-Bit Docker" on Public Glance Repository) It works only in Cluster Level 3.4 (persisting the Cloud-Init properties) http://ovedou.blogspot.co.il/2014/03/running-docker-container-in-ovirt.html 20

Dockerized ovirt Engine ovirt Engine instance inside a container: docker run --privileged -dt -p 80:80 -p 443:443 \ --name ovirt mgoldboi/ovirt-sa-configured-3.5.0 https://github.com/mgoldboi/ovirt-dockerized/ Configuration layer on top of base image with ovirt packages deployed (Fedora 20) Options to run stand-alone or connected to an external database 21

Docker on Virtualization Running Containers inside Virtual Machines ovirt is not aware of Containers ovirt may include tools and plugins to help you visualizing containers in the Data Center 22

Kubernetes Cloud Provider for ovirt Merged in Kubernetes master the 12th of Sep 2014 https://github.com/googlecloudplatform/kubernetes/pull/1189 Allows Kubernetes to discover Docker VMs (Minion) in ovirt Simple configuration: [connection] uri = https://ovirt-engine:8443/ovirt-engine/api username = admin@internal password = admin [filters] vms = tags=kubernetes May allow to discover hosts as well in the future 23

Docker on Virtualization ovirt Cloud Provider Engine Host Host Kubernetes 24

ovirt Kubernetes and Docker Live Demo Video 25

Managing Containers as VMs Are VMs and Containers alike? Do they share the same operations, can they be managed seamlessly? Container Live Migration? (CRIU: checkpoint and restore functionality for Linux in userspace) What about Security? (Wider surface of attack, SELinux) Would a Monolithic Scheduler be sufficient on large scale Data Center? (vs. Two-Level / Shared-State) What agent should manage the Containers? (VDSM, Kubelet?) 26

Virtualization and Docker Engine Host Host Containers Manager 27

Ecosystem: Mesos Provides the fine-grained resource allocations for pods across nodes in a cluster Makes Kubernetes play nicely with other frameworks running on the same cluster resources Offers to the Kubernetes scheduler sets of available resources from the cluster nodes (slaves/minions) 28

Future Multi-Purpose Data Center Multiple Workloads and Managers (ovirt, OpenStack, Hadoop) Hosts are Multi-Purpose running Project Atomic and Containers Hosts are dynamically assigned to a certain type of Workload by a Scheduler (e.g. Mesos) ovirt required resources (Hosts to run VMs for a certain Cluster) will be assigned by Mesos 29

Multi-Purpose Data Center Engine Host Host Mesos 30

THANK YOU! devel@ovirt.org #ovirt irc.oftc.net 31