Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

42
Container Management in ManageIQ One Year in Review Federico Simoncelli - Red Hat May 2016

Transcript of Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Page 1: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management in ManageIQOne Year in Review

Federico Simoncelli - Red HatMay 2016

Page 2: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016
Page 3: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Agenda

Container Management 1-Year History

New Features Introduced in Darga

Page 4: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management - What is it?Brand new Provider introduced in early 2015

Collect, Visualize and Manage Container Clusters

Kubernetes

OpenShift

Page 5: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesFeb 6 2015 Kubernetes Provider backend

Nodes, Services, Container Groups (Pods) and Containers

Labels and Selectors

Ruby GEM for interacting with Kubernetes API (beta)

Kubeclient

Heavily involved with the Kubernetes community

Tens of Pull Requests for improving integration (>800 lines of code)

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 6: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesMar 4 2015 Event Catcher

Heavily involved with the Kubernetes community

Pull Requests focused on improving Events (>500 lines of code)

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 7: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Mar 11 2015 UI for Containers

Container Management History and Features

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 8: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesMay 11 2015 Support for creating Reports

For Containers, Pods and Nodes

May 16 2015 OpenShift Provider

Ruby GEM for interacting with OpenShift API

OpenShift-Client Mostly based on Kubeclient

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 9: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesJun 4 2015 Timeline UI

Providers, Projects, Pods, Containers, Nodes

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 10: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesJun 2015 Metrics collection based on InfluxDB

Collaboration with the InfluxDB Ruby Gem

Jun 23 2015 Out-Of-The-Box Reports

Nodes By Capacity, CPU and Memory Usage

Recently Discovered Pods and Status

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 11: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesJun 11 2015 Images and Registries

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 12: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesJul 30 2015 Tagging Support

Jul 2015 Provider Cross-Linking support

For OpenStack, RHEV and VMware

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Service Pods Container Image

NodesCluster

InstanceRegion

Host

Storage Network

Page 13: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and Features

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 14: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesAug 3 2015 Kubernetes API v1

Aug 14 2015 Move to Pluggable Provider (!)

Wide effort across all the Providers

Aug 18 2015 Enable Containers support by default (!)

Sep 1 2015 Topology Widget

In collaboration with Cockpit

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 15: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Sep 1 2015 Topology Widget

Container Management History and Features

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 16: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesSep 17 2015 SmartState Analysis support

Initial work and releases of image-inspector

Daemon written in GO delivered as container image

Extracts other container images and exposes the content using WebDAV

Collaboration with the GO library for WebDAV

golang.org/x/net/webdav

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 17: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesSep 17 2015 SmartState Analysis support

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 18: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesSep 17 2015 SmartState Analysis support

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 19: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesOct 29 2015 Dashboard for Containers

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 20: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesNov 6 2015 Metrics collection based on Hawkular

“Realtime” for Container, Pods and Nodes

CPU Cores and Memory, Network only for Nodes

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 21: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesNov 15 2015 Pods Metrics Rollups to Multiple Parents

Pods Metrics Rollups to Provider, Projects, Services and Replicators

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 22: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesDec 10 2015 Single Container Provider Dashboard

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 23: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesDec 10 2015 Single Container Provider Dashboard

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 24: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesDec-Jan 2015 Dashboard Node Utilization Charts

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Tim

elin

e

Page 25: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Tim

elin

e

Container Management History and FeaturesDec-Jan 2015 Dashboard Network Trends

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Page 26: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga2016 February - June

Page 27: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga - Container Management OverviewDarga Planning: 18 - 22 January 2016

Research Phase (~3 weeks)

Development start: February 15 (Sprint 37)

DB Schema Freeze: April 20 (Sprint 39)

6 Core Contributors (+2 new Engineers since February)

Current Status (End of Sprint 41)

15 Weeks of Development (5 Sprints)

Tim

elin

e

Feb 2015 May 2015Sep 2015May 2015 Jan 2016Botvinnik Capablanca

Page 28: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga - Container Management OverviewMain features introduced:

Chargeback for Containers

OpenSCAP Integration

Cloud Providers Cross-Linking

OpenShift Deployment (ongoing)

Additional Enhancements:

Multi-Endpoints for Hawkular Metrics

Add support for Pods Network Metrics

Dashboard Pods and New Images trends

New Entities for Builds and Volumes

Page 29: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga - Containers ChargebackChargeback totals per Project (Namespace)

CPU Cores, Memory and Network (when available) usage

Support for multiple Providers in the same Report

Support for archived (deleted) entities (Pods and Projects)

Page 30: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga - OpenSCAP Integration

Page 31: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga - Multi-Endpoints

Page 32: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Darga - Dashboard Pods and New Images trends

Page 33: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

OpenShift Deployment (ongoing)Deploy OpenShift

on existing machines (VMs / bare-metal)

on VMs/Instances provisioned by ManageIQ

Leverage and improve openshift-ansible

Backward-compatible “Inventory” (oo-install)

Support different topologies of deployment

Single/Multi-Master (internal / external etcd)

Infrastructure Nodes

Router, Registry and Metrics Support

Existing NFS and POC internal NFS Support

Page 34: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Ideas For The Future

OpenShift Templates LifeCycle Management

Parity of Features for the Kubernetes Provider (e.g. Metrics)

Extend Chargeback with different rates based on Projects annotation

Manage Maintenance Mode for the Nodes

Cross-Linking of Storage and Network

Support Cluster Upgrade

Page 35: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Get to Know Container ManagementAlon Goldboim (alongoldboim)

Ari Zellner (zeari)

Barak Azulay (bazulay)

Beni Paskin-Cherniavsky (cben)

Daniel Korn (dkorn)

Erez Freiberger (enoodle)

Federico Simoncelli (simon3z)

Mooli Tayer (moolitayer)

Yaacov Zamir (yaacov)

Zahi Akiva (zakiva)

Page 36: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Keep in Touch with the Container Management

Discussion: http://talk.manageiq.org/

Repository: https://github.com/ManageIQ/manageiq

Use Tag:

Messaging: https://gitter.im/ManageIQ/manageiq/containers

providers/containers

Page 37: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Thank You!

Page 38: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Extra Slides and Notes(Not to be presented)

Page 39: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Ongoing - OpenShift Deployment

Page 40: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management History and FeaturesOct 16 2015 Resources and Quota

Page 41: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Container Management - Darga FeaturesMar 11 2016 Builds Entity

May 6 2016 Persistent Volumes and Claims Entities

Apr 4 2016 OpenSCAP Integration

Apr 13 2016 Chargeback Support

Apr 18 2016 Pods Network Metrics support

Apr 19 2016 Dashboard Pods and New Images trends

May 18 2016 Provider Multi-Endpoint support

Page 42: Container Management - Federico Simoncelli - ManageIQ Design Summit 2016

Dashboard evolution storyhttps://github.com/ManageIQ/manageiq/pull/5938https://github.com/ManageIQ/manageiq/pull/6036

Disconnect entities

Add ManageIQ Freeze dates etc. Darga release etc.