SlideShare a Scribd company logo
1 of 43
Download to read offline
OPENSTACK MAGNUM
Adrian Otto, Distinguished Architect
MORE COMPUTE
CONTAINERS ARE
DISRUPTIVE
An easy-to-use and
instant-on
native container
environment.
getcarina.com
Free Beta available today.
EARLY ACCESS BY INVITATION
Carina on your own Rackspace Private Cloud
5
Our Containers Expertise
6
7
Outline
Container Orchestration Engines
Why different orchestration engines exist for containers, and where they shine.
Magnum
What Magnum is all about.
Managing Container Clusters with Magnum
CLI Usage, and demonstration video
Review
Questions and Answers
OPENSTACK
SERVICES
KeystoneGlanceNova
NeutronSwiftCinder Designate Ironic
HorizonBarbicanCielometer
SaharaTroveHeat Magnum Marconi Murano
Layer 4: Consumption Services
Layer 3: Optional Enhancements
Layer 2: Extended Infrastructure
Layer 1: Base Compute Infrastructure
Solum
BARE METALVM
DOCKER
OPENSTACK
KUBERNETES
MESOS
MAGNUM
DOCKER
API
K8S
API
MAGNUM OVERVIEW
OpenStack Magnum’s Top Contributors
10
Cloud operators assume a risk when
selecting a single cloud technology
today… but OpenStack is different.
11
Magnum Differentiators
12
Fundamental Design Goal
Docker Swarm, Kubernetes, Mesos
VM or Bare Metal
SSO Experience for Cloud Users
Multi-Tenant Control and Data Planes
Choice of COE
Choice of Server Flavor
Integrated with OpenStack
13
Outline
Container Orchestration Engines
Why different orchestration engines exist for containers, and where they shine.
Magnum
What Magnum is all about.
Managing Container Clusters with Magnum
CLI Usage, and demonstration video
Review
Questions and Answers
DOCKER SWARM
Swarm Manager
Swarm Node
Docker
Client
Docker
Daemon
Swarm Node
Docker
Daemon
Swarm Node
Docker
Daemon
Swarm
Daemon
Discovery
Service
KUBERNETES
Node
Docker
Kubelet Proxy
REST API
AuthScheduler
Node
Docker
Kubelet Proxy
Node
Docker
Kubelet Proxy
APACHE MESOS
Mesos Master
Standby
ZK
Standby
ZK
Mesos Slave
Framework A
Executor
Task
Mesos Slave
Framework B
Executor
Task
Leader
ZK
17
Outline
Container Orchestration Engines
Why different orchestration engines exist for containers, and where they shine.
Magnum
What Magnum is all about.
Managing Container Clusters with Magnum
CLI Usage, and demonstration video
Review
Questions and Answers
OPENSTACK MAGNUM
MANAGING CLUSTERS
Magnum and Rackspace Private Cloud: OpenStack
What is Magnum?
• Magnum is an OpenStack API that allows the use of your keystone credentials.
• Magnum is designed from the ground-up to be multi-tenant in both the cloud’s data
plane and control plane.
• Magnum allows for different container cluster types to be simultaneously run side-
by-side in the same cloud account, by the same tenant.
• Clusters are isolated from each other using groups of nova instances.
• When you want to upgrade your container runtime, you simply create a new cluster.
HOW IS THIS DIFFERENT THAN JUST RUNNING KUBERNETES OR DOCKER SWARM?
An OpenStack API Service that allows creation of container clusters
19
Terminology (1/4)
COE
Container Orchestration Engine.
Examples: Docker Swarm, Kubernetes, Apache Mesos.
20
Terminology (2/4)
Bay == COE Cluster
A Bay is an API resource in OpenStack Magnum that is composed of nova
instances, neutron networks, security groups, and other resources combined using
a heat stack. This is where your Container Orchestration Engine (COE) runs.
Bays may be scaled up or down by adding or removing nodes from them. Heat
facilitates the setup and scaling of Bays.
21
Bay Bay Bay
COE COE COE
Nova
instance
Nova
instance
Nova
instance
Nova
instance
Nova
instance
Nova
instance
Terminology (3/4)
BayModel (ClusterModel)
A BayModel is a template used for creating a Bay resource. It contains information
that is common among all bays that are instantiated from it. Each one has a pre-
defined type (swarm, kubernetes, mesos, etc.).
22
BayModel Bay
Bay
Bay
Terminology (4/4)
Native Client
The client distributed with the COE. For example “docker” or “kubectl”. A native
client is not an OpenStack Client. It uses TLS to authenticate with the COE.
23
Bay
COE
Nova
instance
Nova
instance
Nova
instance
Native
Client
TLS
What you can do with Magnum
•CRUD on BayModels (baymodel-*)
• Create, Modify, List, Show, Delete.
•CRUD on Bays (bay-*)
• Create, Modify, List, Show, Delete.
•GET TLS CA Cert (ca-show)
•Sign a TLS Cert (ca-sign)
•Service status (service-list)
24
Usage: magnum <subcommand>
<subcommands:>
baymodel-create Create a baymodel.
baymodel-delete Delete specified baymodel.
baymodel-list Print a list of baymodels.
baymodel-show Show details about the given baymodel.
baymodel-update Updates one or more baymodel attributes.
bay-create Create a bay.
bay-delete Delete specified bay.
bay-list Print a list of available bays.
bay-show Show details about the given bay.
bay-update Update information about the given bay.
ca-show Show details about the CA certificate for a bay.
ca-sign Generate the CA certificate for a bay.
service-list Print a list of magnum services.
help Display help about this program or one of its
subcommands.
What you can NOT do with Magnum
•Any actions on containers. Native APIs and tools are used for this.
•Docker Swarm (docker CLI)
•Kubernetes (kubectl CLI)
25
Magnum provisions the cloud resources needed to
run the COE of your choice, and then gets out of your
way, allowing you to use prevailing tools to directly
manage your containers.
Magnum Resources: BayModels and Bays
26
stack@demo:~$ magnum baymodel-show swarm
+-----------------------+--------------------------------------+
| Property | Value |
+-----------------------+--------------------------------------+
| insecure_registry | None |
| labels | {} |
| updated_at | 2016-08-02T20:47:29+00:00 |
| fixed_subnet | None |
| master_flavor_id | None |
| uuid | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 |
| no_proxy | None |
| https_proxy | None |
| tls_disabled | False |
| keypair_id | testkey |
| public | False |
| http_proxy | None |
| docker_volume_size | 5 |
| server_type | vm |
| external_network_id | public |
| cluster_distro | fedora-atomic |
| image_id | fedora-atomic-latest |
| volume_driver | None |
| registry_enabled | False |
| docker_storage_driver | devicemapper |
| apiserver_port | None |
| name | swarm |
| created_at | 2016-07-11T22:26:28+00:00 |
| network_driver | docker |
| fixed_network | None |
| coe | swarm |
| flavor_id | m1.small |
| master_lb_enabled | False |
| dns_nameserver | 8.8.8.8 |
+-----------------------+--------------------------------------+
stack@demo:~$ magnum bay-show swarm_bay
+--------------------+------------------------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------------------------+
| status | CREATE_COMPLETE |
| uuid | c9bb18c3-07a3-4e82-a545-a21e2e5ddea7 |
| stack_id | a9c97092-9556-4116-acb7-4fdb803766cd |
| status_reason | Stack CREATE completed successfully |
| created_at | 2016-08-02T20:51:15+00:00 |
| updated_at | 2016-08-02T20:52:43+00:00 |
| bay_create_timeout | 0 |
| api_address | https://172.24.4.14:2376 |
| baymodel_id | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 |
| master_addresses | ['172.24.4.16'] |
| node_count | 1 |
| node_addresses | ['172.24.4.15'] |
| master_count | 1 |
| discovery_url | https://discovery.etcd.io/ef6ba25bf1715a5200a3c3be4aee401b |
| name | swarm_bay |
+--------------------+------------------------------------------------------------+
Create: 88 seconds
Glance Image
COE Type: swarm
Magnum Demo
27
Watch this video for a demo:
https://vimeo.com/177327412
Resource Lifecycle
28
CREATE_IN_PROGRESS
CREATE_COMPLETE
UPDATE_IN_PROGRESS
UPDATE_COMPLETE
DELETE_IN_PROGRESS
List BayModel Resources
$ magnum baymodel-list
+--------------------------------------+------------+
| uuid | name |
+--------------------------------------+------------+
| 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 | swarm |
| 2e5ce644-2e2f-4182-a144-388b29bcaf29 | kubernetes |
+--------------------------------------+------------+
29
Show a BayModel Resource
+-----------------------+--------------------------------------+
| Property | Value |
+-----------------------+--------------------------------------+
| insecure_registry | None |
| labels | {} |
| updated_at | 2016-08-02T20:47:29+00:00 |
| fixed_subnet | None |
| master_flavor_id | None |
| uuid | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 |
| no_proxy | None |
| https_proxy | None |
| tls_disabled | False |
| keypair_id | testkey |
| public | False |
| http_proxy | None |
| docker_volume_size | 5 |
| server_type | vm |
| external_network_id | public |
| cluster_distro | fedora-atomic |
| image_id | fedora-atomic-latest |
| volume_driver | None |
| registry_enabled | False |
| docker_storage_driver | devicemapper |
| apiserver_port | None |
| name | swarm |
| created_at | 2016-07-11T22:26:28+00:00 |
| network_driver | docker |
| fixed_network | None |
| coe | swarm |
| flavor_id | m1.small |
| master_lb_enabled | False |
| dns_nameserver | 8.8.8.8 |
+-----------------------+--------------------------------------+
30
$ magnum baymodel-show swarm
List Bay Resources
$ magnum bay-list
+--------------------------------------+-----------+------------+--------------+-----------------+
| uuid | name | node_count | master_count | status |
+--------------------------------------+-----------+------------+--------------+-----------------+
| fdc9e295-3c06-4a39-a26e-21bc32ae53e3 | k8s_bay | 2 | 1 | UPDATE_COMPLETE |
| 56f3a0b1-565d-4766-a3ca-978e6684b6f5 | swarm_bay | 1 | 1 | CREATE_COMPLETE |
+--------------------------------------+-----------+------------+--------------+-----------------+
31
Show a Bay Resource
32
$ magnum bay-show swarm_bay
+--------------------+------------------------------------------------------------+
| Property | Value |
+--------------------+------------------------------------------------------------+
| status | UPDATE_COMPLETE |
| uuid | fdc9e295-3c06-4a39-a26e-21bc32ae53e3 |
| stack_id | b4a47913-b7dc-46a9-86cc-3060910d989e |
| status_reason | Stack UPDATE completed successfully |
| created_at | 2016-08-03T00:14:33+00:00 |
| updated_at | 2016-08-03T00:18:42+00:00 |
| bay_create_timeout | 0 |
| api_address | https://172.24.4.45:6443 |
| baymodel_id | 2e5ce644-2e2f-4182-a144-388b29bcaf29 |
| master_addresses | ['172.24.4.45'] |
| node_count | 2 |
| node_addresses | ['172.24.4.50', '172.24.4.51'] |
| master_count | 1 |
| discovery_url | https://discovery.etcd.io/2bb31d8950ab6081de0c006151a148a2 |
| name | k8s_bay |
+--------------------+------------------------------------------------------------+
Creating a BayModel: Kubernetes
$ magnum baymodel-create --name kubernetes 
--image-id fedora-atomic-latest 
--keypair-id testkey 
--external-network-id public 
--dns-nameserver 8.8.8.8 
--flavor-id m1.small 
--docker-volume-size 5 
--network-driver flannel 
--coe kubernetes
33
Creating a Bay: Kubernetes
$ magnum bay-create --name k8s_bay --baymodel kubernetes --node-count 1
34
Creating a BayModel: Swarm
$ magnum baymodel-create --name swarm 
--image-id fedora-atomic-latest 
--keypair-id testkey 
--external-network-id public 
--dns-nameserver 8.8.8.8 
--flavor-id m1.small 
--docker-volume-size 5 
--network-driver flannel 
--coe swarm
35
Creating a Bay: Swarm
$ magnum bay-create --name swarm_bay --baymodel swarm --node-count 1
36
Scale a Bay: To two nodes
$ magnum bay-update k8s_bay replace node_count=2
37
Connect your native docker client
•Place cert files in client directory, and tell client where they are
•Configure client to use a remote host with TLS
•Use api-address value from the Magnum bay resource
38
#!/bin/sh
BAY=${1-swarm_bay}
CERT_DIR='/opt/stack/devstack/.docker'
mkdir -p $CERT_DIR; chmod 700 $CERT_DIR; cd $CERT_DIR
NODE_ADDRESS=$(magnum bay-show $BAY | grep node_address | cut -d "'" -f 2)
/usr/bin/scp -q -oStrictHostKeyChecking=no fedora@${NODE_ADDRESS}:/etc/docker/ca.crt ca.pem
/usr/bin/scp -q -oStrictHostKeyChecking=no fedora@${NODE_ADDRESS}:/etc/docker/server.crt cert.pem
/usr/bin/scp -q -oStrictHostKeyChecking=no fedora@${NODE_ADDRESS}:/etc/docker/server.key key.pem
echo "export DOCKER_HOST=$(magnum bay-show $BAY | grep api_address | cut -d '|' -f 3 | sed -e 's/ https/tcp/')"
echo "export DOCKER_CERT_PATH=$CERT_DIR"
echo "export DOCKER_TLS_VERIFY=1"
39
Outline
Container Orchestration Engines
Why different orchestration engines exist for containers, and where they shine.
Magnum
What Magnum is all about.
Managing Container Clusters with Magnum
CLI Usage, and demonstration video
Review
Questions and Answers
Magnum CLI
$ magnum baymodel-list
$ magnum bay-create --name k8s_bay --baymodel kubernetes --node-count 1
$ magnum bay-list
$ magnum bay-update k8s_bay replace node_count=2
$ magnum bay-show k8s_bay
40
41
Summary
Container Orchestration Engines
Why different orchestration engines exist for containers, and where they shine.
Magnum
What Magnum is all about.
Managing Container Clusters with Magnum
CLI Usage, and demonstration video
Review
Questions and Answers
Python OpenStack Engineers
C, C++ Linux Systems Engineers
Ruby DevOps Engineers
C#, .NET
Java
Full Stack Developers
Web Developers
JavaScript, CSS, HTML Software Developer in Test
Angular.JS, Ember.js, Node.js Security Engineers
Restful/JSON/XML Data Scientist
Closure, Scala, Erlang
Hadoop, MongoDB, MySQL
Solutions Architects
Software Dev. Managers
Strategic Account Executive
Field Sales Specialist
MS Azure SA, Virtualization & Support
Technical Trainer
We’re Hiring
O N E FA N AT I C A L P L AC E | S A N A N TO N I O , T X 7 8 21 8
U S S A L E S : 1 - 8 0 0 - 9 61 - 2 8 8 8 | U S S U P P O R T: 1 - 8 0 0 - 9 61 - 4 4 5 4 | W W W. R AC K S PAC E . C O M | W W W. G E T C A R I N A . C O M
© RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
Thank you

More Related Content

What's hot

Kubernetes Hands-On Guide
Kubernetes Hands-On GuideKubernetes Hands-On Guide
Kubernetes Hands-On GuideStratoscale
 
Orchestrating Docker with OpenStack
Orchestrating Docker with OpenStackOrchestrating Docker with OpenStack
Orchestrating Docker with OpenStackErica Windisch
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceBen Hall
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in productionPaul Bakker
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Container Orchestration Integration: OpenStack Kuryr
Container Orchestration Integration: OpenStack KuryrContainer Orchestration Integration: OpenStack Kuryr
Container Orchestration Integration: OpenStack KuryrTaku Fukushima
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for BeginnersOktay Esgul
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Hao H. Zhang
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetesKrishna-Kumar
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingJoe Huang
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Vishnu Kannan
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLarry Cai
 
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Edureka!
 

What's hot (20)

Kubernetes Hands-On Guide
Kubernetes Hands-On GuideKubernetes Hands-On Guide
Kubernetes Hands-On Guide
 
Orchestrating Docker with OpenStack
Orchestrating Docker with OpenStackOrchestrating Docker with OpenStack
Orchestrating Docker with OpenStack
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in production
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Kubernetes Node Deep Dive
Kubernetes Node Deep DiveKubernetes Node Deep Dive
Kubernetes Node Deep Dive
 
Container Orchestration Integration: OpenStack Kuryr
Container Orchestration Integration: OpenStack KuryrContainer Orchestration Integration: OpenStack Kuryr
Container Orchestration Integration: OpenStack Kuryr
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10
 
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
 
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 

Similar to OpenStack Magnum 2016-08-04

Bug smash day magnum
Bug smash day magnumBug smash day magnum
Bug smash day magnumTon Ngo
 
Bug smash day magnum
Bug smash day magnumBug smash day magnum
Bug smash day magnumTon Ngo
 
Project kuryr returns: Docker delivered, Kubernetes Next
Project kuryr returns: Docker delivered, Kubernetes NextProject kuryr returns: Docker delivered, Kubernetes Next
Project kuryr returns: Docker delivered, Kubernetes NextAntoni Segura Puimedon
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHenning Jacobs
 
Kubernetes - Starting with 1.2
Kubernetes  - Starting with 1.2Kubernetes  - Starting with 1.2
Kubernetes - Starting with 1.2William Stewart
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesQAware GmbH
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayQiming Teng
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 PresentationSreenivas Makam
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-finalMichel Schildmeijer
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Davide Benvegnù
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Patrick Chanezon
 
Kubered -Recipes for C2 Operations on Kubernetes
Kubered -Recipes for C2 Operations on KubernetesKubered -Recipes for C2 Operations on Kubernetes
Kubered -Recipes for C2 Operations on KubernetesJeffrey Holden
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungDigicomp Academy AG
 
VMware@Night Container and Virtualization
VMware@Night Container and VirtualizationVMware@Night Container and Virtualization
VMware@Night Container and VirtualizationOpvizor, Inc.
 
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...ssuser92b4be
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersImesh Gunaratne
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersLakmal Warusawithana
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Patrick Chanezon
 

Similar to OpenStack Magnum 2016-08-04 (20)

Bug smash day magnum
Bug smash day magnumBug smash day magnum
Bug smash day magnum
 
Bug smash day magnum
Bug smash day magnumBug smash day magnum
Bug smash day magnum
 
Project kuryr returns: Docker delivered, Kubernetes Next
Project kuryr returns: Docker delivered, Kubernetes NextProject kuryr returns: Docker delivered, Kubernetes Next
Project kuryr returns: Docker delivered, Kubernetes Next
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
 
Kubernetes - Starting with 1.2
Kubernetes  - Starting with 1.2Kubernetes  - Starting with 1.2
Kubernetes - Starting with 1.2
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native Way
 
Docker 1.11 Presentation
Docker 1.11 PresentationDocker 1.11 Presentation
Docker 1.11 Presentation
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-final
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
 
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on AzureDocker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
 
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
 
Kubered -Recipes for C2 Operations on Kubernetes
Kubered -Recipes for C2 Operations on KubernetesKubered -Recipes for C2 Operations on Kubernetes
Kubered -Recipes for C2 Operations on Kubernetes
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
 
VMware@Night Container and Virtualization
VMware@Night Container and VirtualizationVMware@Night Container and Virtualization
VMware@Night Container and Virtualization
 
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 

More from Adrian Otto

What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?Adrian Otto
 
What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?Adrian Otto
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source CloudAdrian Otto
 
Docker 101 2015-05-28
Docker 101 2015-05-28Docker 101 2015-05-28
Docker 101 2015-05-28Adrian Otto
 
7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective ContirbutorsAdrian Otto
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureAdrian Otto
 
Docker 101 - Intro to Docker
Docker 101 - Intro to DockerDocker 101 - Intro to Docker
Docker 101 - Intro to DockerAdrian Otto
 

More from Adrian Otto (7)

What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?
 
What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?What's really the difference between a VM and a Container?
What's really the difference between a VM and a Container?
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source Cloud
 
Docker 101 2015-05-28
Docker 101 2015-05-28Docker 101 2015-05-28
Docker 101 2015-05-28
 
7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors7 Habits of Highly Effective Contirbutors
7 Habits of Highly Effective Contirbutors
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
 
Docker 101 - Intro to Docker
Docker 101 - Intro to DockerDocker 101 - Intro to Docker
Docker 101 - Intro to Docker
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

OpenStack Magnum 2016-08-04

  • 1. OPENSTACK MAGNUM Adrian Otto, Distinguished Architect
  • 3. An easy-to-use and instant-on native container environment.
  • 5. EARLY ACCESS BY INVITATION Carina on your own Rackspace Private Cloud 5
  • 7. 7 Outline Container Orchestration Engines Why different orchestration engines exist for containers, and where they shine. Magnum What Magnum is all about. Managing Container Clusters with Magnum CLI Usage, and demonstration video Review Questions and Answers
  • 8. OPENSTACK SERVICES KeystoneGlanceNova NeutronSwiftCinder Designate Ironic HorizonBarbicanCielometer SaharaTroveHeat Magnum Marconi Murano Layer 4: Consumption Services Layer 3: Optional Enhancements Layer 2: Extended Infrastructure Layer 1: Base Compute Infrastructure Solum
  • 10. OpenStack Magnum’s Top Contributors 10
  • 11. Cloud operators assume a risk when selecting a single cloud technology today… but OpenStack is different. 11
  • 12. Magnum Differentiators 12 Fundamental Design Goal Docker Swarm, Kubernetes, Mesos VM or Bare Metal SSO Experience for Cloud Users Multi-Tenant Control and Data Planes Choice of COE Choice of Server Flavor Integrated with OpenStack
  • 13. 13 Outline Container Orchestration Engines Why different orchestration engines exist for containers, and where they shine. Magnum What Magnum is all about. Managing Container Clusters with Magnum CLI Usage, and demonstration video Review Questions and Answers
  • 14. DOCKER SWARM Swarm Manager Swarm Node Docker Client Docker Daemon Swarm Node Docker Daemon Swarm Node Docker Daemon Swarm Daemon Discovery Service
  • 16. APACHE MESOS Mesos Master Standby ZK Standby ZK Mesos Slave Framework A Executor Task Mesos Slave Framework B Executor Task Leader ZK
  • 17. 17 Outline Container Orchestration Engines Why different orchestration engines exist for containers, and where they shine. Magnum What Magnum is all about. Managing Container Clusters with Magnum CLI Usage, and demonstration video Review Questions and Answers
  • 18. OPENSTACK MAGNUM MANAGING CLUSTERS Magnum and Rackspace Private Cloud: OpenStack
  • 19. What is Magnum? • Magnum is an OpenStack API that allows the use of your keystone credentials. • Magnum is designed from the ground-up to be multi-tenant in both the cloud’s data plane and control plane. • Magnum allows for different container cluster types to be simultaneously run side- by-side in the same cloud account, by the same tenant. • Clusters are isolated from each other using groups of nova instances. • When you want to upgrade your container runtime, you simply create a new cluster. HOW IS THIS DIFFERENT THAN JUST RUNNING KUBERNETES OR DOCKER SWARM? An OpenStack API Service that allows creation of container clusters 19
  • 20. Terminology (1/4) COE Container Orchestration Engine. Examples: Docker Swarm, Kubernetes, Apache Mesos. 20
  • 21. Terminology (2/4) Bay == COE Cluster A Bay is an API resource in OpenStack Magnum that is composed of nova instances, neutron networks, security groups, and other resources combined using a heat stack. This is where your Container Orchestration Engine (COE) runs. Bays may be scaled up or down by adding or removing nodes from them. Heat facilitates the setup and scaling of Bays. 21 Bay Bay Bay COE COE COE Nova instance Nova instance Nova instance Nova instance Nova instance Nova instance
  • 22. Terminology (3/4) BayModel (ClusterModel) A BayModel is a template used for creating a Bay resource. It contains information that is common among all bays that are instantiated from it. Each one has a pre- defined type (swarm, kubernetes, mesos, etc.). 22 BayModel Bay Bay Bay
  • 23. Terminology (4/4) Native Client The client distributed with the COE. For example “docker” or “kubectl”. A native client is not an OpenStack Client. It uses TLS to authenticate with the COE. 23 Bay COE Nova instance Nova instance Nova instance Native Client TLS
  • 24. What you can do with Magnum •CRUD on BayModels (baymodel-*) • Create, Modify, List, Show, Delete. •CRUD on Bays (bay-*) • Create, Modify, List, Show, Delete. •GET TLS CA Cert (ca-show) •Sign a TLS Cert (ca-sign) •Service status (service-list) 24 Usage: magnum <subcommand> <subcommands:> baymodel-create Create a baymodel. baymodel-delete Delete specified baymodel. baymodel-list Print a list of baymodels. baymodel-show Show details about the given baymodel. baymodel-update Updates one or more baymodel attributes. bay-create Create a bay. bay-delete Delete specified bay. bay-list Print a list of available bays. bay-show Show details about the given bay. bay-update Update information about the given bay. ca-show Show details about the CA certificate for a bay. ca-sign Generate the CA certificate for a bay. service-list Print a list of magnum services. help Display help about this program or one of its subcommands.
  • 25. What you can NOT do with Magnum •Any actions on containers. Native APIs and tools are used for this. •Docker Swarm (docker CLI) •Kubernetes (kubectl CLI) 25 Magnum provisions the cloud resources needed to run the COE of your choice, and then gets out of your way, allowing you to use prevailing tools to directly manage your containers.
  • 26. Magnum Resources: BayModels and Bays 26 stack@demo:~$ magnum baymodel-show swarm +-----------------------+--------------------------------------+ | Property | Value | +-----------------------+--------------------------------------+ | insecure_registry | None | | labels | {} | | updated_at | 2016-08-02T20:47:29+00:00 | | fixed_subnet | None | | master_flavor_id | None | | uuid | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 | | no_proxy | None | | https_proxy | None | | tls_disabled | False | | keypair_id | testkey | | public | False | | http_proxy | None | | docker_volume_size | 5 | | server_type | vm | | external_network_id | public | | cluster_distro | fedora-atomic | | image_id | fedora-atomic-latest | | volume_driver | None | | registry_enabled | False | | docker_storage_driver | devicemapper | | apiserver_port | None | | name | swarm | | created_at | 2016-07-11T22:26:28+00:00 | | network_driver | docker | | fixed_network | None | | coe | swarm | | flavor_id | m1.small | | master_lb_enabled | False | | dns_nameserver | 8.8.8.8 | +-----------------------+--------------------------------------+ stack@demo:~$ magnum bay-show swarm_bay +--------------------+------------------------------------------------------------+ | Property | Value | +--------------------+------------------------------------------------------------+ | status | CREATE_COMPLETE | | uuid | c9bb18c3-07a3-4e82-a545-a21e2e5ddea7 | | stack_id | a9c97092-9556-4116-acb7-4fdb803766cd | | status_reason | Stack CREATE completed successfully | | created_at | 2016-08-02T20:51:15+00:00 | | updated_at | 2016-08-02T20:52:43+00:00 | | bay_create_timeout | 0 | | api_address | https://172.24.4.14:2376 | | baymodel_id | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 | | master_addresses | ['172.24.4.16'] | | node_count | 1 | | node_addresses | ['172.24.4.15'] | | master_count | 1 | | discovery_url | https://discovery.etcd.io/ef6ba25bf1715a5200a3c3be4aee401b | | name | swarm_bay | +--------------------+------------------------------------------------------------+ Create: 88 seconds Glance Image COE Type: swarm
  • 27. Magnum Demo 27 Watch this video for a demo: https://vimeo.com/177327412
  • 29. List BayModel Resources $ magnum baymodel-list +--------------------------------------+------------+ | uuid | name | +--------------------------------------+------------+ | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 | swarm | | 2e5ce644-2e2f-4182-a144-388b29bcaf29 | kubernetes | +--------------------------------------+------------+ 29
  • 30. Show a BayModel Resource +-----------------------+--------------------------------------+ | Property | Value | +-----------------------+--------------------------------------+ | insecure_registry | None | | labels | {} | | updated_at | 2016-08-02T20:47:29+00:00 | | fixed_subnet | None | | master_flavor_id | None | | uuid | 209afb5a-fb3c-4fa2-8732-763cac7ee9e5 | | no_proxy | None | | https_proxy | None | | tls_disabled | False | | keypair_id | testkey | | public | False | | http_proxy | None | | docker_volume_size | 5 | | server_type | vm | | external_network_id | public | | cluster_distro | fedora-atomic | | image_id | fedora-atomic-latest | | volume_driver | None | | registry_enabled | False | | docker_storage_driver | devicemapper | | apiserver_port | None | | name | swarm | | created_at | 2016-07-11T22:26:28+00:00 | | network_driver | docker | | fixed_network | None | | coe | swarm | | flavor_id | m1.small | | master_lb_enabled | False | | dns_nameserver | 8.8.8.8 | +-----------------------+--------------------------------------+ 30 $ magnum baymodel-show swarm
  • 31. List Bay Resources $ magnum bay-list +--------------------------------------+-----------+------------+--------------+-----------------+ | uuid | name | node_count | master_count | status | +--------------------------------------+-----------+------------+--------------+-----------------+ | fdc9e295-3c06-4a39-a26e-21bc32ae53e3 | k8s_bay | 2 | 1 | UPDATE_COMPLETE | | 56f3a0b1-565d-4766-a3ca-978e6684b6f5 | swarm_bay | 1 | 1 | CREATE_COMPLETE | +--------------------------------------+-----------+------------+--------------+-----------------+ 31
  • 32. Show a Bay Resource 32 $ magnum bay-show swarm_bay +--------------------+------------------------------------------------------------+ | Property | Value | +--------------------+------------------------------------------------------------+ | status | UPDATE_COMPLETE | | uuid | fdc9e295-3c06-4a39-a26e-21bc32ae53e3 | | stack_id | b4a47913-b7dc-46a9-86cc-3060910d989e | | status_reason | Stack UPDATE completed successfully | | created_at | 2016-08-03T00:14:33+00:00 | | updated_at | 2016-08-03T00:18:42+00:00 | | bay_create_timeout | 0 | | api_address | https://172.24.4.45:6443 | | baymodel_id | 2e5ce644-2e2f-4182-a144-388b29bcaf29 | | master_addresses | ['172.24.4.45'] | | node_count | 2 | | node_addresses | ['172.24.4.50', '172.24.4.51'] | | master_count | 1 | | discovery_url | https://discovery.etcd.io/2bb31d8950ab6081de0c006151a148a2 | | name | k8s_bay | +--------------------+------------------------------------------------------------+
  • 33. Creating a BayModel: Kubernetes $ magnum baymodel-create --name kubernetes --image-id fedora-atomic-latest --keypair-id testkey --external-network-id public --dns-nameserver 8.8.8.8 --flavor-id m1.small --docker-volume-size 5 --network-driver flannel --coe kubernetes 33
  • 34. Creating a Bay: Kubernetes $ magnum bay-create --name k8s_bay --baymodel kubernetes --node-count 1 34
  • 35. Creating a BayModel: Swarm $ magnum baymodel-create --name swarm --image-id fedora-atomic-latest --keypair-id testkey --external-network-id public --dns-nameserver 8.8.8.8 --flavor-id m1.small --docker-volume-size 5 --network-driver flannel --coe swarm 35
  • 36. Creating a Bay: Swarm $ magnum bay-create --name swarm_bay --baymodel swarm --node-count 1 36
  • 37. Scale a Bay: To two nodes $ magnum bay-update k8s_bay replace node_count=2 37
  • 38. Connect your native docker client •Place cert files in client directory, and tell client where they are •Configure client to use a remote host with TLS •Use api-address value from the Magnum bay resource 38 #!/bin/sh BAY=${1-swarm_bay} CERT_DIR='/opt/stack/devstack/.docker' mkdir -p $CERT_DIR; chmod 700 $CERT_DIR; cd $CERT_DIR NODE_ADDRESS=$(magnum bay-show $BAY | grep node_address | cut -d "'" -f 2) /usr/bin/scp -q -oStrictHostKeyChecking=no fedora@${NODE_ADDRESS}:/etc/docker/ca.crt ca.pem /usr/bin/scp -q -oStrictHostKeyChecking=no fedora@${NODE_ADDRESS}:/etc/docker/server.crt cert.pem /usr/bin/scp -q -oStrictHostKeyChecking=no fedora@${NODE_ADDRESS}:/etc/docker/server.key key.pem echo "export DOCKER_HOST=$(magnum bay-show $BAY | grep api_address | cut -d '|' -f 3 | sed -e 's/ https/tcp/')" echo "export DOCKER_CERT_PATH=$CERT_DIR" echo "export DOCKER_TLS_VERIFY=1"
  • 39. 39 Outline Container Orchestration Engines Why different orchestration engines exist for containers, and where they shine. Magnum What Magnum is all about. Managing Container Clusters with Magnum CLI Usage, and demonstration video Review Questions and Answers
  • 40. Magnum CLI $ magnum baymodel-list $ magnum bay-create --name k8s_bay --baymodel kubernetes --node-count 1 $ magnum bay-list $ magnum bay-update k8s_bay replace node_count=2 $ magnum bay-show k8s_bay 40
  • 41. 41 Summary Container Orchestration Engines Why different orchestration engines exist for containers, and where they shine. Magnum What Magnum is all about. Managing Container Clusters with Magnum CLI Usage, and demonstration video Review Questions and Answers
  • 42. Python OpenStack Engineers C, C++ Linux Systems Engineers Ruby DevOps Engineers C#, .NET Java Full Stack Developers Web Developers JavaScript, CSS, HTML Software Developer in Test Angular.JS, Ember.js, Node.js Security Engineers Restful/JSON/XML Data Scientist Closure, Scala, Erlang Hadoop, MongoDB, MySQL Solutions Architects Software Dev. Managers Strategic Account Executive Field Sales Specialist MS Azure SA, Virtualization & Support Technical Trainer We’re Hiring
  • 43. O N E FA N AT I C A L P L AC E | S A N A N TO N I O , T X 7 8 21 8 U S S A L E S : 1 - 8 0 0 - 9 61 - 2 8 8 8 | U S S U P P O R T: 1 - 8 0 0 - 9 61 - 4 4 5 4 | W W W. R AC K S PAC E . C O M | W W W. G E T C A R I N A . C O M © RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM Thank you