managing kubernetes and openshift with manageiq · built on top of kubernetes provides additional...

62
Managing Kubernetes and OpenShift with ManageIQ Alissa Bonas @ Container Con Seattle 2015

Upload: others

Post on 17-Aug-2020

16 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Managing Kubernetesand OpenShift with ManageIQ

Alissa Bonas @ Container Con Seattle 2015

Page 2: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

● Containerizing an app

The stages of containers world

Alissa Bonas @ Container Con Seattle 2015

Page 3: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

The stages of containers world

● Run a container

Alissa Bonas @ Container Con Seattle 2015

Page 4: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

The stages of containers world

● Run multiple containers

Alissa Bonas @ Container Con Seattle 2015

Page 5: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

● Orchestrate containers

● Run many containers on multiple hosts

● Manage a containers environment

The stages of containers world

Alissa Bonas @ Container Con Seattle 2015

Page 6: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Today we’ll focus on

Kubernetes OpenShift ManageIQ

Alissa Bonas @ Container Con Seattle 2015

Page 7: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Kubernetes

● Deployment, scaling and orchestration of containers across clusters of hosts.

● http://kubernetes.io/

● 1.0 release - July 2015

Developed in Go

Alissa Bonas @ Container Con Seattle 2015

Page 8: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Kubernetes main concepts

● Node - a machine that containers run on

● Namespace - partitioning resources created by users into logical groups

● Pod - a group of containers

Alissa Bonas @ Container Con Seattle 2015

Page 9: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Kubernetes main concepts

● Replication controller - ensures there are always X replicas of pods

● Service - a base load balancer that provides traffic to pods

Alissa Bonas @ Container Con Seattle 2015

Page 10: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

OpenShift

● Platform as a service for building and running applications - for developers

● http://www.openshift.org/

● 3.0 release - June 2015

Developed in Go

Alissa Bonas @ Container Con Seattle 2015

Page 11: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

OpenShift main concepts

● Built on top of Kubernetes

● Provides additional capabilities○ application lifecycle○ routing - extends service○ projects - extension of namespaces

Build Deploy RunAlissa Bonas @ Container Con Seattle 2015

Page 12: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

● How many containers exist in my environment?

● Does a specific node have enough resources?

● How many distinct images are used?

● Which registries are used?

Insight and control

Alissa Bonas @ Container Con Seattle 2015

Page 13: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

ManageIQ

● A cloud management platform

● http://manageiq.org/

● Botvinnik release - June 2015

a Ruby on Rails project

Alissa Bonas @ Container Con Seattle 2015

Page 14: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

ManageIQ concepts

● “A manager of managers”○ supports multiple virtualization providers

● Insight and control○ inventory overview and events○ smart state analysis○ workflow/orchestration

Alissa Bonas @ Container Con Seattle 2015

Page 15: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

New in upstream ManageIQ

● Providers for container management

● Support added for

○ Kubernetes○ OpenShift

Alissa Bonas @ Container Con Seattle 2015

Page 16: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Working together

ManageIQ

Kubernetes / Openshift

Master

Node A

Node B

Alissa Bonas @ Container Con Seattle 2015

Page 17: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Container management providers

Alissa Bonas @ Container Con Seattle 2015

Page 18: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Creating a provider

● Kubernetes/OpenShift master host/port

● SSL

● Token based

Alissa Bonas @ Container Con Seattle 2015

Page 19: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Inventory

● Entities

● Relationships

● Additional information

Alissa Bonas @ Container Con Seattle 2015

Page 20: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Creating more insights

● Modelling additional entities as first class citizens

● Deducing relationships

Alissa Bonas @ Container Con Seattle 2015

Page 21: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Kubernetes provider summary page

Alissa Bonas @ Container Con Seattle 2015

Page 22: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Kubernetes provider relationships

Alissa Bonas @ Container Con Seattle 2015

Page 23: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

OpenShift provider summary page

Alissa Bonas @ Container Con Seattle 2015

Page 24: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

OpenShift provider relationships

Alissa Bonas @ Container Con Seattle 2015

Page 25: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Projects

Alissa Bonas @ Container Con Seattle 2015

Page 26: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Nodes● OS and Software versions

● How many entities are on a node

● Capacity and utilization

● Which infrastructure is it running on

Alissa Bonas @ Container Con Seattle 2015

Page 27: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Node Summary page

Alissa Bonas @ Container Con Seattle 2015

Page 28: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

What do we know about nodes?

Capacity

Docker and Kubernetes info

Alissa Bonas @ Container Con Seattle 2015

Page 29: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Nodes

● Quick overview on main nodes properties

Alissa Bonas @ Container Con Seattle 2015

Page 30: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Cross providers insight

● Connect all layers of infrastructure, cloud and containers

● Currently support cross linking with○ OpenStack○ oVirt / RHEV

Alissa Bonas @ Container Con Seattle 2015

Page 31: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Cross linking demystified

Virtual Machines Hosts

Nodes Pods Containers

Storage

Network

Alissa Bonas @ Container Con Seattle 2015

Page 32: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Cross linking demystified

Virtual Machines Hosts

Nodes Pods Containers

Images

Storage

Network

Services Routes

Alissa Bonas @ Container Con Seattle 2015

Page 33: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Cross provider example - Node

Alissa Bonas @ Container Con Seattle 2015

Page 34: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Cross provider VM example

Alissa Bonas @ Container Con Seattle 2015

Page 35: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Nodes capacity and utilization

Page 36: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension
Page 37: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension
Page 38: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Resource quotas and limit ranges

● Limit the number of pods, containers, etc.○ tracked per a project/namespace scope

● Limit CPU and memory○ tracked per pod, container

Alissa Bonas @ Container Con Seattle 2015

Page 39: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Container

● Traceability - container id, image● Restart count - potential issues?

Alissa Bonas @ Container Con Seattle 2015

Page 40: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Registries

Alissa Bonas @ Container Con Seattle 2015

Page 41: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Image from a known registry

Alissa Bonas @ Container Con Seattle 2015

Page 42: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Image from an unknown source

Alissa Bonas @ Container Con Seattle 2015

Page 43: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Pods

● Which containers are part of it

● Which services work with it

● Which node does it run on

● Is it controlled by a replicator? Alissa Bonas @ Container Con Seattle 2015

Page 44: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Pods

Alissa Bonas @ Container Con Seattle 2015

Page 45: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Pod

Alissa Bonas @ Container Con Seattle 2015

Page 46: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Replicators

Searches for pods with this label

Alissa Bonas @ Container Con Seattle 2015

Page 47: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Services

● A portal IP and source/target port pairs

● Redirects traffic to relevant pods based on a labels selector

Alissa Bonas @ Container Con Seattle 2015

Page 48: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Service example

Alissa Bonas @ Container Con Seattle 2015

Page 49: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

OpenShift Routes

● Exposes a service by giving it an externally reachable hostname

● Can be fine tuned by /path

● Can be also secured

Alissa Bonas @ Container Con Seattle 2015

Page 50: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Events / Timeline

● Node○ ready / not ready / rebooted

● Pod○ scheduled

● More to come...Alissa Bonas @ Container Con Seattle 2015

Page 51: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Tagging

● Leveraging ManageIQ tags

Alissa Bonas @ Container Con Seattle 2015

Page 52: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

A glimpse into the future

Page 53: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Dashboard - providers overview

Page 54: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Dashboard - a single provider view

Page 55: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Dashboard of a project

Page 56: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

● “A picture is worth a thousand words”

● Includes cross provider relationships

● Statuses

Topology

Alissa Bonas @ Container Con Seattle 2015

Page 57: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Topology demo

Page 58: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Topology demo

Page 59: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Open source

● Rapidly changing projects before their release

● Hard to track

● A chance to influence early

Alissa Bonas @ Container Con Seattle 2015

Page 60: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

ManageIQ community

● http://talk.manageiq.org

● https://github.com/ManageIQ/manageiq ○ Follow label #providers/containers

● #manageiq IRC on freenode

Alissa Bonas @ Container Con Seattle 2015

Page 61: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Icons Credits● The Go gopher - Renee French● Diamond by MarkieAnn Packer from the Noun Project● Rails by Luis Martins from the Noun Project● Light Bulb by artworkbean from the Noun Project● Sherlock by James Keuning

Page 62: Managing Kubernetes and OpenShift with ManageIQ · Built on top of Kubernetes Provides additional capabilities application lifecycle routing - extends service projects - extension

Thank you!

@mikeyteva