Cloud Stack with Bare Metal, presented in Apache Con Europe 2016

irvan352366 13 views 42 slides Sep 30, 2024
Slide 1
Slide 1 of 42
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42

About This Presentation

CloudStack with Bare Metal


Slide Content

Cloud, IOT and Analytics
Baremetal with Apache CloudStack
ApacheConEurope 2016
Jaydeep Marfatia

© 2016 Accelerite. All Rights Reserved.2
Me
Director of Product Management
Cloud Products
Accelerite
Background
Project lead for open source project
XenMan/ConVirt
Co-Founder ConvirtureCorp.
Architect for Oracle 10g Enterprise Manager

© 2016 Accelerite. All Rights Reserved.3
Apache CloudStack
•Highly available, highly scalable Infrastructure as a Service (IaaS) cloud
computing platform
•Easy to deploy, turnkey solution that includes the entire "stack" of
features most organizations want with an IaaScloud
•Used by many enterprises for their private cloud, as well as for running
large public clouds !
•CloudStackcurrently supports the most popular hypervisors: VMware,
KVM, Citrix XenServer, Hyper-V and more

© 2016 Accelerite. All Rights Reserved.4
Accelerite
•Enterprise Infrastructure software company
•Acquired CloudPlatformfrom Citrix early this year
•Commercial product based on CloudStack
•50+ engineers and adding more

© 2016 Accelerite. All Rights Reserved.5
Recent contributions by Accelerite
•Template upload from browser
•DHCP/DNS Offload
•LDAP integration
•CoreOS/Docker on CloudStack
•VPN enhancements
•VMWareNetworking improvements
•Baremetal enhancements
•200+ Bug fixes in the product

CloudStack
User Interface

© 2016 Accelerite. All Rights Reserved.7
User Console

© 2016 Accelerite. All Rights Reserved.8
Admin Console

© 2016 Accelerite. All Rights Reserved.9
Self-service VM Provisioning
Zone Template Compute Disk Affinity Network Launch

© 2016 Accelerite. All Rights Reserved.10
Monitoring Cloud Infrastructure
© 2016 Accelerite. All rights reserved.

Baremetal Team

© 2016 Accelerite. All Rights Reserved.12
Team
•HarikrishnaPatnala–Apache Committer, working on CloudStack4+ years
Expertise :Baremetal and Virtual Router
•JayapalUradi–Apache Committer, 4+ years
Expertise : CloudStackNetworking
•Suresh Sadhu –Quality Assurance of CloudStack, 5+ years
Expertise : All rounder

Motivation for Baremetal

© 2016 Accelerite. All Rights Reserved.14
Why Baremetal?
•Meet high performance computing requirements
•Hadoop, Spark, HPC
•Take advantage of specialized hardware
•GPUs, Blade Micro-servers
•Databases
•Virtual Desktop Infrastructure management
•Desired for DockerContainers

Requirements

© 2016 Accelerite. All Rights Reserved.16
Data Center

© 2016 Accelerite. All Rights Reserved.17
Data Center
Servers
Switch
Rack
Secondary Storage

© 2016 Accelerite. All Rights Reserved.18
Workload Partitioning
Hadoop
Switch
Secondary Storage
Kubernetes
Rack

© 2016 Accelerite. All Rights Reserved.19
Multi-Tenancy
Tenant 1
Switch
Secondary Storage
Tenant 2
Rack

© 2016 Accelerite. All Rights Reserved.20
Multi-Tenancy and Workload partitioning
Tenant 1
Switch
Secondary Storage
Tenant 2
Tenant 1 -DBRack

© 2016 Accelerite. All Rights Reserved.21
Data Center –VMs and Baremetal
Tenant 1 Network
Rack
Tenant 2 Network

© 2016 Accelerite. All Rights Reserved.22
Baremetal in CloudStack
•Ability to deploy Baremetal servers as easy as spinning up a VM
•Multi-tenant Baremetal orchestration with network isolation
•Flexibility of using mixed environments of VM and Baremetal
•DB tier on Baremetal and other tiers on VMs for a multi-tier application
•Extensible architecture for different flavors of hardware and network
elements

What all do we need ?

© 2016 Accelerite. All Rights Reserved.24
PXE server
•Basic Networking
•Flat network
•External PXE/DHCP/DNS Servers
•Advanced Networking
•Isolation using VLANs
•Additionally VR acts as PXE
•All VM networking services mapped to Baremetal

© 2016 Accelerite. All Rights Reserved.
Advanced Networking
Network isolation with VLAN
Guest1
VM1
Guest1
VM2
Guest1
VM3
Guest1
VR
VLAN2000
Management
Storage
Public VLAN99
Hypervisor 1 Hypervisor 2
Switch
Console, Storage VMs
Hypervisor 2
Hypervisor 2
Public
VLAN99

© 2016 Accelerite. All Rights Reserved.
Advanced Networking
Network isolation with VLAN
Guest1
VM1
Guest1
VM2
Guest1
VM3
Guest2
VM1
Guest2
VM2
Guest2
VM3
Guest2
VR
Guest1
VR
VLAN2000
VLAN2001
Management
Storage
Public VLAN99
Hypervisor 1 Hypervisor 2
Switch
Console, Storage VMs
Hypervisor 2
Hypervisor 2
Public
VLAN99

© 2016 Accelerite. All Rights Reserved.
Advanced Networking
VLAN based isolation
Networking services:
•DHCP
•DNS
•Source NAT
•Static NAT
•Port Forwarding
•Load Balancing
•Firewall
•VPN
•PXE

© 2016 Accelerite. All Rights Reserved.28
Templates
•PXE Server hosts the
Installer Kernels and
Kickstartfiles
•Template Registration is
done by giving the URL
from where OS Packages
can be retrieved
PXE
Server/VR
Kickstart,
Installer
Kernels
NFS
OS Package
Repository
Baremetal
Host
HTTP
T
F
T
P

© 2016 Accelerite. All Rights Reserved.29
Example Template URL
•ks=http_link_to_kickstartfile;kernel=nfs_path_to_pxe_kernel;initrd=nfs_pa
th_to_pxe_initrd
•ks=http://10.147.28.7/export/home/hari/rhel65/ks1.ks;kernel=10.147.2
8.7:/export/home/hari/rhel65/RHEL65/images/pxeboot/vmlinuz;initrd=1
0.147.28.7:/export/home/hari/rhel65/RHEL65/images/pxeboot/initrd.im
g

© 2016 Accelerite. All Rights Reserved.30
Service Offering
•Service offering allows administrator to determine size of the VM in
terms of CPU and memory
•e.g. small vm2 cpu, 512 MB ram
•For baremetal, CPU and memory information is specified while adding
the host along with a tag and IPMI details
•e.g. host-44, 8 cpu, 32 GB ram –tag ssd_bm, ipmiinfo : ip, user, password
•Tagging scheme is used to map service offerings and baremetalhost
•e.g. SSD baremetalmedium –8 cpu, 32 GB ram –tag ssd_bm

© 2016 Accelerite. All Rights Reserved.31
Switch Configuration
•Switch credentials
•Switch topology information
•host –switch port mapping Switch
Baremetal
Nodes
MS Node
VR on Hypervisor
Template
Storage
{
"racks":
[
{
"l2Switch": { "ip": "10.147.28.11", "username": "admin",
"password": "password", "type": " Force10”
},
"hosts":
[
{ "mac": "d4:ae:52:7a:a5:9c", "port": "tengigabitethernet:0/30"
},
{ "mac": "d4:ae:52:7a:a5:9d", "port": "tengigabitethernet:0/31"
}
]
}
]
}

Provisioning Flow

© 2016 Accelerite. All Rights Reserved.33
Management
Server
Baremetal Provisioning Flow –Advanced Zone
Management
Server
Physical
Switch
Management
Server
Baremetal
Hosts
VR
(w/ PXE &
DHCP/DNS)
1. User Requests Baremetal Instance
2. Management Server configures PXE
DHCP on VR and physical switch with
VLANS
3. Baremetal host started with IPMI command
to PXE boot
4. Host gets DHCP
5. Host pulls PXE image
6. Image is pulled and installed
7. Host pulls user data from VR

© 2016 Accelerite. All Rights Reserved.34
Windows Baremetal Provisioning (Approach)
•Windows Deployment server needs to be programmed
•Need to invoke powershellcommands from Linux
•Agent to be present in WDS Server
•Using RPC/or Event Queue mechanism, send Powershellcommands to WDS
•AD / DHCP is used for authentication and PXE booting

© 2016 Accelerite. All Rights Reserved.35
Management
Server
Windows Baremetal Provisioning Flow
Management
Server
DHCP/DNS
Active
Directory
Management
Server
Baremetal
Hosts
WDS (w/ PXE)
1. User Requests Baremetal Instance
2. Management Server configures WDS
Server with PXE, switch configured
3. Baremetal host started with IPMI command
to PXE boot
4. Host gets DHCP
5. Host pulls PXE image
6. Image is pulled and installed
7. Host pulls user data from VR
Switch

© 2016 Accelerite. All Rights Reserved.36
Kubernetes
Cluster
Baremetal Use Case for Container Deployment
1.Install CoreOS on Baremetal hosts
2.Setup networking –Basic or
Isolated (program the switch)
3.Create k8s cluster using cloud-
configsent via userdataservice
on VR
4.Use Kubernetes dashboard within
CloudStackUI to deploy and
manage containers
5.All CloudStacktenanting and
isolation features apply
Mgmt
Server
Virtual
Router
Node1
Node2
Master
Dashboard
cloud-config
CoreOS
Images

Extensibility

© 2016 Accelerite. All Rights Reserved.38
Network Switch Plugin
<<interface>>
BaremetalSwitchBackend
•getSwitchBackendType()
•prepareVlan()
•removePortFromVlan()
Force10BaremetalSwitchBackend
•getSwitchBackendType() { return TYPE }
•prepareVlan()
•removePortFromVlan()
public static final String TYPE = "Force10"

© 2016 Accelerite. All Rights Reserved.39
Network Switch Plugin
•Currently, a Dell Force10 switch is implemented
•To Extend to other types, implement following two methods as a plugin
Arista plugin Implementation Details:
1.Implement AristaBaremetalSwitchBackend.javaand implementtheinterface BaremetalSwitchBackend. For example
interface refer to
https://github.com/apache/CloudStack/blob/master/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networ
kservice/Force10BaremetalSwitchBackend.java.
2.Needto implementthefollowingthreefunctionswithappropriateactionsforAristaswitchesin theabove
file. (definition of interface is in
https://github.com/apache/CloudStack/blob/master/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networ
kservice/BaremetalSwitchBackend.java):
publicinterface BaremetalSwitchBackend{
StringgetSwitchBackendType();
voidprepareVlan(BaremetalVlanStructstruct);
voidremovePortFromVlan(BaremetalVlanStructstruct);
}
3.Add AristaBaremetalSwitchBackend bean configuration into
https://github.com/apache/CloudStack/blob/master/plugins/hypervisors/baremetal/resources/META -
INF/CloudStack/core/spring-baremetal-core-context.xml.

Looking forward

© 2016 Accelerite. All Rights Reserved.41
Baremetal Projects : Contributions welcome
•WDS integration (WIP)
•Baremetal in VPC Network
•Add switch integration from different vendors
•NIC Bonding
•RAID
•UEFI Boot
•Redfish integration
•Auto-discovery of hosts and NIC details

Q&A