openstack and kubernetes - suse · 13 openstack magnum api magnum provides project isolation for...

21
OpenStack and Kubernetes Containers as a Service for everyone Flavio Castelli Engineering Manager (Containers) [email protected] Michal Jura Linux Cloud/HA Developer [email protected]

Upload: others

Post on 20-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

OpenStack and KubernetesContainers as a Service for everyone

Flavio Castelli

Engineering Manager (Containers)

[email protected]

Michal Jura

Linux Cloud/HA Developer

[email protected]

Page 2: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

2

New challenges

● New age of internet and mobile applications.

● Application super portability.

● Higher complexity of cloud environments.

● Different cloud providers.

● Adoption of micro services architectures.

● Stay agile in spirit of DevOps.

Page 3: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

3

Manage applications,not machines

Page 4: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

4

Kubernetes advantages

● Workload portability: doesn't enforce its directives to the application.

● Friendly with legacy applications: smooth migration path.

● Avoid vendor lock-in.

● Self healing.

● Auto-scaling.

● Has a solution for many problems:● Persistent storage.● Secrets management.● Blue-Green deployments.

● Flexible: plug-in architecture

Page 5: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

5

Architecture

Scheduler

API server

Controller mgr

MasterMaster

etcdetcd

podpod

container

container

docker

kubelet kubeproxy

WorkerWorker

Page 6: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

6

Architecture

Load balancer

http://guestbook.com

worker-B

gbook-01

8081

blog-01

8080

worker-A

gbook-01

80818080

worker-C

8081

blog-01

8080

Page 7: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

7

Kubernetes deployment

● Requires an etcd cluster.

● Requires one or more master nodes.

● Requires one or more worker nodes.

● Requires a SDN network joining all the worker nodes.

● Requires a load balancer to expose internal applications.

● Lots of patience to link all these components together.

Page 8: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

8

Kubernetes’ status

● It’s a pleasure to use as developer deploying your application.

● It’s a pleasure to administer as an operator.

● It’s a pain to deploy.

Page 9: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

9

Things are changing

● kubeadm: upstream tool for kubernetes deployment.

• Kubernetes deployed with containers, by kubernetes itself.

• Introduced with the 1.4 release, still alpha.

Page 10: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

10

How to combine OpenStack and Kubernetes worlds?

Page 11: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

11

Solution for everyoneOpenStack and Kubernetes

Page 12: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

12

Introduction to OpenStack Magnum

● A new service on OpenStack starting from Liberty release

● Provides Containers Infrastructure Service

● Supports different Linux images

● Integrates:

● Kubernetes● Docker● Flannel (overlay network)● Heat, Keystone, Glance, Cinder, Neutron, Barbican etc.

Page 13: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

13

OpenStack Magnum API

Magnum provides project isolation for container orchestration engines

● Management tool for containers within OpenStack✔ Orchestrate cloud resources and instances with Heat✔ Clone environments with similar network with Neutron ✔ Implement separate clusters in many projects through Keystone

● Use different Container Orchestration Engines (COE)✗ Kubernetes✗ Swarm✗ Mesos

● Access to native API's with dedicated clients.

Page 14: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

14

OpenStack Magnum architecture

Page 15: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

15

Magnum Kubernetes Cluster

Page 16: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

16

Magnum awesomeness

● Each OpenStack user can have its own Kubernetes cluster.

● Kubernetes deployment will take a few minutes.

● Whole configuration will be done automatically.

● We can auto-scale Kubernetes cluster on request.

● Start containerized apps on ready environment.

● Expose service to the Internet using LoadBalancer.

Page 17: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

17

Why pick up Magnum with Kubernetes

● Based on Google experience running containers in production

● Have this same deployment process for each application

● Take care about cloud application, fits especially for web and mobile apps

● Big cluster data readiness, fits perfectly with hundreds or thousands of hosts

● Choose between virtual machines and bare-metal servers

Page 18: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

18

Magnum future

● Full support for bare metal deployments

● Support different CPU architectures ARM, s390

● Auto-scaling

● Auto-restarts

● Support other containers engines

● Rolling updates for Kubernetes engine

● Node groups feature

Page 19: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

19

Magnum potentials

● Become a Magnum Opus

● Provide cloud ready apps and services

● Manage projects aware Container Topologies

● Use OpenStack as a first class citizen for container technology

● Help developers with their work

Page 20: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

20

It is time for real demo example!!!

Page 21: OpenStack and Kubernetes - SUSE · 13 OpenStack Magnum API Magnum provides project isolation for container orchestration engines Management tool for containers within OpenStack Orchestrate

Questions ?

Flavio Castelli

Engineering Manager (Containers)

[email protected]

Michal Jura

Linux Cloud/HA Developer

[email protected]