from bare metal to cloud - zhaw blogsblog.zhaw.ch/icclab/files/2012/11/swing-bare-metal-to... ·...

40
From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael Bohnert, Christof Marti ICCLab, ZHAW www.cloudcomp.ch

Upload: others

Post on 26-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

From Bare Metal to CloudAndy Edmonds, Fabrice Manhart, Thomas

Michael Bohnert, Christof MartiICCLab, ZHAW

www.cloudcomp.ch

Page 2: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Hello!

ICCLab● Zurich University for

Applied Sciences● Cloud Computing

Research

“From Research Themes to Projects creating Impact and Transfer for

Educational Excellence”

Page 3: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Nodes 15

Core 240

Memory 960 GB

Storage 64 TB

We've Hardware for Cloud!

Page 4: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Challenges or Problems?

● Clouds are in essence big data centres

○ Means lots of servers:

■ Manual configuration not an option

■ Automation is required

Page 5: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Challenges or Problems?

Cloud frameworks can/are be complicated!

Page 6: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Challenges or Problems?

● Clouds are "cool" - Aayyy!

● How to deploy a "cloud"○ with minimal user interaction?○ least number of "hands"?○ across many servers?

BUT

Page 7: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Challenges or Problems?

● How to share/standardise these processes?○ Configuration - drift prevention○ Testing - configuration, system functionality○ Compliance - auditing, ITIL (eeek!)○ Agility ○ Independence

■ Of physical/virtual deployment■ Of infrastructure

Page 8: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Automation Toolchain

Page 9: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Automation Toolchain

Page 10: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Provision - OS rollout

Baremetal VM

?

Page 11: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

● "Single Address For All Machines Lifecycle Management".

● Manages or proxies to DNS, DHCP, TFTP, Virtual Machines, PuppetCA, CMDB

● Integrates with Puppet (and acts as web front end to it).

● Provisions:○ most flavours of *NIX, Windows○ Virtual machines - libvirt, oVirt○ Cloud Resources - Amazon EC2, VMware vCenter,

OpenStack● Has an API! Automate your Automation :-)

Provision - Foreman

Page 12: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Provision - ForemanWhat does it look like?

Page 13: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Provision - Foreman Arch

Page 14: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

● Declarative configuration language○ Describe desired state of a system, not how to

achieve it○ Idempotence

● Different types of resources: software package, service, user, configuration file, mysql database, ...

● Dependencies can be formulated● Grouping of resources by "class" concept:

○ Way of structuring your descriptions● Abstraction layer for resources:

○ Independence from system type (different variants of linux, *bsd, mac os, windows, ...)

Configuration - Puppet

Page 15: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

currentstate

desiredstate

==?

sync event

Configuration - Puppet's Model

Page 16: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

currentstate

desiredstate

==?

sync event

package {‘sshd’: ensure => present, }

You describe system state...

Page 17: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

currentstate

desiredstate

==?

sync event

package {‘sshd’: ensure => present, }

rpm –q sshd --------------------dpkg-query –search sshd

Puppet collects current state...

Page 18: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

currentstate

desiredstate

!=

sync event

package {‘sshd’: ensure => present, }

absent present

rpm –q sshd --------------------dpkg-query –search sshd

Puppet compares...

Page 19: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

currentstate

desiredstate

!=

sync event

package {‘sshd’: ensure => present, }

absent present

yum install sshd------------------------apt-get install sshd

rpm –q sshd --------------------dpkg-query –search sshd

Puppet synchronizes...

Page 20: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

currentstate

desiredstate

!=

sync event

package {‘sshd’: ensure => present, }

absent present

state transition: absent -> present

rpm –q sshd --------------------dpkg-query –search sshd

yum install sshd------------------------apt-get install sshd

Puppet logs...

Page 21: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

A more complete puppet manifestclass ssh::install {

package { "openssh":ensure => present, }

}class ssh::config {

file { "/etc/ssh/sshd_config":ensure => present,owner => 'root',group => 'root',mode => 0600,source => "puppet:///modules/ssh/sshd_config",require => Class["ssh::install"],notify => Class["ssh::service"], }

}class ssh::service {

service { "sshd":ensure => running,hasstatus => true,hasrestart => true,enable => true,require => Class["ssh::config"], }

}class ssh {

include ssh::install, ssh::config, ssh::service}

dependency"if I change..."

Page 22: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

OpenStack @ 10,000m, Looks Easy!

Everything has an APIMessage-based

Discrete PluggableComponents

Essex was simpler!

Page 23: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

OpenStack - The Ugly Close-up

Complicated● Many Services● Many Dependencies

Challenge to deploy ● 100's, 1000's of

nodes?

You need an automated toolchain!

Page 24: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Apple Moment!

We have one! Want to see?

Page 25: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Demo - What Could Go Wrong?!

Multi-node OpenStack Installation

● 1 controller node ○ "boss"

● 1 compute node○ "worker1"

● More time? Easy to add more.

Page 26: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Demo: Deployment Architecture

Page 27: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Demo: OpenStack Component Deployment

Page 28: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Demo: Code/Config Details

● There are 2 roles (hostgroups)○ openstack/controller - controller.pp○ openstack/compute - compute.pp

● Both have different puppet manifests○ Same 'icclab' module

Page 29: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

What's in a controller node?(excluding common params)

Page 30: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

What's in a compute node?(excluding common params)

Page 31: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael
Page 32: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

In the ICCLab

● 15 nodes in ~15 minutes.● Supports 2 networks

○ research (essex, soon to be folsom)○ stable (essex)

Page 33: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Conclusions/Learnings

● Automation is essential● Puppet codifies learnings, makes sharing easy● Foreman a central management point, full lifecycle,

adaptable to other services● Dependence on infrastructure service management

frameworks is lessened○ Fast and efficient to install new ones with a tool

chain● Other than SLA guarantees, the only guarantee to

maintain is the API between provider and customer and this is where standard APIs are need such as OCCI/CDMI/OVF.

Page 34: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Going Forward...

● Folsom to be Deployed○ Only on research network○ Essex remains on stable

● High Availability to be implemented● Deploy and use Ceilometer● Develop further Hadoop as a Service● Consider/deploy other host OSes (SmartOS)● Integrate OpenFlow switches● ICCLab to run/support:

○ EU FP7 IP MobileCloud Network ○ EU FI-PPP KIARA (FIware)○ KTI projects

Page 35: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Everything Presented is Documented at:http://www.cloudcomp.ch

Including:

- HOWTOs

- Foreman, Puppet, OpenStack installs

- Virtual Machine images

Thanks!Questions?

(ping me: @dizz, [email protected])

Page 36: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Backup Slides

Page 37: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Toolchain map

VM

Dashboard

GitConfig-DB

(SQL)

ITIL CMDB

Puppet Agent

HostPuppet Agent

Puppet Master

Page 38: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Foreman Arch

Bare-MetalVM

Foreman

TFTP DHCP kernel

initrd

packages

kickstart.ks

XEN

VM

KVM

HTTPDNS

Netinstall (PXE) OS artefacts

Page 39: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

Puppetmaster <-> agent interaction

Page 40: From Bare Metal to Cloud - ZHAW Blogsblog.zhaw.ch/icclab/files/2012/11/SwiNG-Bare-Metal-to... · 2019-03-15 · From Bare Metal to Cloud Andy Edmonds, Fabrice Manhart, Thomas Michael

What are the common config params?