Zun Project Update Hongbin Lu (Huawei) Madhuri Kumari (Intel) Shu - - PowerPoint PPT Presentation

zun project update
SMART_READER_LITE
LIVE PREVIEW

Zun Project Update Hongbin Lu (Huawei) Madhuri Kumari (Intel) Shu - - PowerPoint PPT Presentation

Zun Project Update Hongbin Lu (Huawei) Madhuri Kumari (Intel) Shu Muto (NEC) Agenda Containers on OpenStack Zun Basics Zun Internals Others Demo Containers on OpenStack Nova Instance (container) Nova Instance


slide-1
SLIDE 1

Zun Project Update

Hongbin Lu (Huawei) Madhuri Kumari (Intel) Shu Muto (NEC)

slide-2
SLIDE 2

Agenda

  • Containers on OpenStack
  • Zun Basics
  • Zun Internals
  • Others
  • Demo
slide-3
SLIDE 3

Containers on OpenStack

OpenStack

Container

Nova Instance (container) Hypervisor (Container Runtime) Compute Network Storage Nova Instance (container) Nova

slide-4
SLIDE 4

Containers on OpenStack

OpenStack Nova Instance (VM) Container Hypervisor Compute Network Storage Nova Instance (VM) Container Container Container Nova

slide-5
SLIDE 5

Containers on OpenStack

OpenStack Nova Instance (VM) Container Hypervisor Compute Network Storage VM Nova Instance (VM) Container Container Container Container Orchestration Engine (COE) Nova

slide-6
SLIDE 6

Containers on OpenStack

COE/Container Engine (Kubernetes, Docker, etc.) Deployment (Magnum) Authentication (Keystone) Zun Images (Glance?) Fuxi Storage (Cinder) Network (Neutron) Kuryr Monitoring (Telemetry?)

OpenStack API Native API

slide-7
SLIDE 7

Agenda

  • Containers on OpenStack
  • Zun Basics
  • Zun Internals
  • Others
  • Demo
slide-8
SLIDE 8

What is Zun?

  • Container API
  • Resource management
  • OpenStack Integration

○ Keystone ○ Neutron/Kuryr-libnetwork ○ Glance ○ Horizon ○ Heat ○ OpenStackClient ○ Nova ? ○ Placement API ? ○ Telemetry ? ○ Swift ?

COE/Container Engine (Kubernetes, Docker, etc.)

Magnum Keystone Zun Images (Glance?) Fuxi Cinder Neutron Kuryr Monitoring (Telemetry?) OpenStack API Native API

slide-9
SLIDE 9

What is Zun?

Nova Instance Nova Instance DB Web Server Neutron Net Nova Instance Zun Container DB Web Server Neutron Net

slide-10
SLIDE 10

Zun APIs

Create a container POST /containers List containers GET /containers Show a container GET /containers/<ID> Delete a container DELETE /containers/<ID> Retrieve logs of a container GET /containers/<ID>/logs Execute a command in a container POST /containers/<ID>/execute Attach to a container POST /containers/<ID>/attach ... ...

slide-11
SLIDE 11

Run a Container

  • Find an image from an image store (i.e. DockerHub, Glance)

$ docker search cirros

  • Run a container with a command

$ zun run cirros ping -c 4 google.com

slide-12
SLIDE 12

Enter into a Container

  • Attach to a running container

$ zun attach mycontainer

  • Open a new shell in a running container

$ zun exec --interactive mycontainer /bin/sh

slide-13
SLIDE 13

Real Application

$ zun run -e MYSQL_ROOT_PASSWORD=rootpass \

  • e MYSQL_DATABASE=wordpress \

mysql:latest $ zun run -e WORDPRESS_DB_HOST=$mysql_ip \

  • e WORDPRESS_DB_USER=root \
  • e WORDPRESS_DB_PASSWORD=rootpass \

wordpress:latest Wordpress Neutron Net Mysql

slide-14
SLIDE 14

Orchestration with Heat

resources: db: type: OS::Zun::Container properties: image: mysql environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: wordpress wordpress: type: OS::Zun::Container properties: image: "wordpress:latest" environment: WORDPRESS_DB_HOST: {get_attr: [db, addresses, private, 0, addr]} WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: rootpass

Wordpress Neutron Net Mysql

slide-15
SLIDE 15

Agenda

  • Containers on OpenStack
  • Zun Basics
  • Zun Internals
  • Others
  • Demo
slide-16
SLIDE 16

Architecture

Zun API Zun Compute Docker Keystone Kuryr Neutron Glance

slide-17
SLIDE 17

Cloud Controller Node

Deployment

Zun API AMQP Keystone SQLdb Neutron Server

Compute Node

Zun Compute Neutron Agent Kuryr-libnetwork Docker

Compute Node

Zun Compute Neutron Agent Kuryr-libnetwork Docker

Compute Node

Zun Compute Neutron Agent Kuryr-libnetwork Docker

Compute Node

Zun Compute Neutron Agent Kuryr Docker

Cloud Controller Node

Zun API AMQP Keystone SQLdb Neutron Server

slide-18
SLIDE 18
slide-19
SLIDE 19

Agenda

  • Containers on OpenStack
  • Zun Basics
  • Zun Internals
  • Others
  • Demo
slide-20
SLIDE 20

Features

  • Container APIs
  • Container host management
  • Multi-tenancy
  • Neutron integration
  • Support multiple image repositories

○ Docker Hub ○ Glance

  • Heat Integration
  • Horizon Integration
  • OpenStackClient Integration
slide-21
SLIDE 21

Roadmap

  • Run containers on baremetal, VM, or COEs
  • Additional container runtimes
  • Stateful container
  • Containers group
  • Scheduling (integrate with Placement APIs)
  • Keep container alive
  • Monitoring
  • Container snapshot
  • Quota
slide-22
SLIDE 22

Non-goal

  • Container orchestration

○ Zun doesn’t provide container orchestration by itself ○ Use Heat with Zun resources for that

  • COEs provisioning

○ Consider Kargo or Magnum

  • System container

○ Consider Nova-lxd

  • Build container from source code

○ Consider Solum

slide-23
SLIDE 23

Comparison

  • Zun VS nova-docker

○ Nova-docker: allow accessing docker containers via Nova’s API ○ Zun: full-featured container API

  • Zun VS Kubernetes

○ Kubernetes: advanced container orchestration tool ○ Zun: simple container management tool ○ Kubernetes is an integrating target for Zun

slide-24
SLIDE 24

Community

slide-25
SLIDE 25

Agenda

  • Containers on OpenStack
  • Zun Basics
  • Zun Internals
  • Roadmap
  • Demo
slide-26
SLIDE 26

Demo

https://youtu.be/s758L_dIsLU