Introduction to OpenStack - Cyberlearn // HES-SO · 2017-10-03 · OpenStack timelines 5 Key...
Transcript of Introduction to OpenStack - Cyberlearn // HES-SO · 2017-10-03 · OpenStack timelines 5 Key...
Introduction to OpenStack
Nabil Abdennadher, HES-SO
2
• Free and open-source cloud-computing software platform.• Provides services for managing a Cloud environment on the fly.• Consists of a group of interrelated projects that control pools of
processing, storage, and networking resources.• Provides users methods and support to deploy virtual machines in a
remote environment.• State in OpenStack is maintained in centrally managed relational
database.• OpenStack provides all the services for an IaaS.
What is OpenStack ?
3
• OpenStack (Newton)• hepiaCloud• OpenStack client
Plan
OpenStack forum
4
OpenStack timelines
5
Key events:● 2005-2010: Rackspace develops their cloud solution● March 2010 - decides to open source it● May 2010 - NASA open sources its Nebula platform● June 2010 - NASA and Rackspace join hands to
create OpenStack● July 2010 - Inaugural design summit in Austin
convened with 25+ partners
Major company backings:● Aug 2011: Canonical backs OpenStack● Oct 2011 - DELL adopts OpenStack● 2012 - AT&T, HP, VMWare, Intel, NEC joins
OpenStack● Sep 2012 - OpenStack foundation formally launched
6
OpenStack releasesht
tps:
//rel
ease
s.op
enst
ack.
org/
OpenStack today
7
example of who uses OpenStack
8
Basic services
9
• Keystone: provides identity services for OpenStack.• A central list of users/permissions mapped against
OpenStack services.• Provides multiple means of access.
Identity service : Keystone
10
• Glance: provides image services to OpenStack.• "images" refers to images (or virtual copies) of hard disks. Used as
templates for deploying new VMs.
Image Service: Glance
11
• OpenStack compute (nova): Manages the lifecycle of computeinstances in an OpenStack environment. Responsibilities includespawning, scheduling and decommissioning of virtual machines ondemand.
Compute service: OpenStack compute (nova)
12
• Networking service (Neutron): provides the networking capabilityfor OpenStack. Enables Network-Connectivity-as-a-Service for otherOpenStack services.
• OpenStack Networking enables projects to create advanced virtualnetwork topologies which may include services such as a firewall, aload balancer and Virtual Private Network (VPN).
Networking service: Neutron
13
Dashboard: Horizon
• Horizon: The front office of OpenStack.
• The only native graphical interface to OpenStack.
14
Storage service: Swift &Cinder
• Cinder: block storage component, analogous to the traditional access ona disk drive.
• Swift: storage system for objects and files.• Users refer to a unique file identifiers: OpenStack decides where to
store/back-up etc.
http://www.druva.com/wp-content/uploads/Screen-Shot-2014-08-18-at-11.02.02-AM.png
Core services interplay
15
There are 59 other services!
16Accessed[30.08.2017] - https://governance.openstack.org/tc/reference/projects/
17
• trove: database service: provides cloud provisioning functionality fordatabase engines.
• magnum: Container Infrastructure Management service. OpenStackAPI service making container orchestration engines (COE) such asDocker Swarm, Kubernetes and Mesos available as first classresources in OpenStack
• Ironic: Bare metal service. Collection of components that providessupport to manage and provision physical machines.
Additional services
18
• heat: Orchestration service• manila: Shared File Systems service (manila): provides coordinated
access to shared or distributed file systems.• aodh: Telemetry Alarming services (aodh): trigger alarms when the
collected metering or event data break the defined rules.• ceilometer: Telemetry data Collection service: provide the following
functions:• Efficiently polls metering data related to OpenStack services.• Collects event and metering data by monitoring notifications sent
from services.• Publishes collected data to various targets including data stores and
message queues.
Additional services
Not all services are equally used or deployed!
19
We will explore the most popular ones in more details
20
• Controller node runs:• Identity service (Keystone)• Compute management (nova)• Image Service (Glance)• Dashboard (Horizon).• Supporting services: SQL database, message queue, and Network Time
Protocol (NTP).
Controller Node
21
• Compute node(s)• runs the hypervisor portion of Compute that operates instances. By
default, Compute uses the KVM hypervisor.• Runs a Networking service agent that connects instances to virtual
networks and provides firewalling services to instances via security groups.
Compute nodes
22
• Block Storage nodes• The optional Block Storage node contains the disks that the Block Storage
and Shared File System services provision for instances.• We can have more than one block storage node.
• Object Storage nodes• contain the disks that the Object Storage service uses for storing
accounts, containers, and objects.• Object Storage requires two nodes. We can deploy more than two object
storage nodes.
Storage nodes (optional)
23
24http
s://d
ocs.
open
stac
k.or
g/ne
wto
n/in
stal
l-gui
de-
ubun
tu/o
verv
iew
.htm
l
25
Hardware requirementsht
tps:
//doc
s.op
enst
ack.
org/
new
ton/
inst
all-g
uide
-ub
untu
/ove
rvie
w.h
tml
26
• You already have an account on hepiaCloud!• https://hepiacloud.hesge.ch/horizon/
• Create your first virtual private network :• http://lsds.hesge.ch/hepiacloudwebinterface/ (points 1 to 4)
• Create and access your first instance• http://lsds.hesge.ch/hepiacloudwebinterface/ (points 5& 6)
Exercise 1
27
28
• OpenStack (Newton)• hepiaCloud• OpenStack client
Plan
hepiaCloud
29
• Based on OpenStack (Newton)• Hypervisor: Linux-KVM• Heterogeneous resources
• 8 servers: 128 GB RAM, 24 vCPU• 1 server : 504 GB RAM, 112 vCPU• 1 server : 504 GB RAM, 128 vCPU• 30 desktops: 32 GB RAM, 4 vCPU
• hepiaCloud provides• 552 vCPU • ~2.1 TB of RAM• ~20 To of HDD
• Instances are in a private network
hepiaCloud
30
10 servers
GbE
network
GbE
network
GbE
network
15 desktops 15 desktops
GbE network (a vlan through hepia’s network)
BXXX(IT centre)
A401 A425
Internet
hepiaCloud architecture
hepiacloud.hesge.ch
32
• Network : 192.168.0.0/22• 192.168.0.1 – 192.168.0.254 : hypervisors (physical servers)• 192.168.1.0 – 192.168.3.254 : floating IP addresses• So far (October 2017), the floating IP addresses range from 192.168.1.0 to
192.168.1.255
The network
33
Configuring floating IP addresses
34
• 824 46832 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:5000 to:192.168.0.3:5000• 132 7776 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:9696 to:192.168.0.3:9696• 124 7404 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:9292 to:192.168.0.3:9292• 15 692 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:8777 to:192.168.0.3:8777• 34 2008 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:6080 to:192.168.0.3:6080• 0 0 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:8776 to:192.168.0.3:8776• 132 7836 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:8774 to:192.168.0.3:8774
Gateway configuration: Requests from outside
Public interface (external)
35
• 21453 1255K DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:5000 to:192.168.0.3:5000• 62357 3741K DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:9696 to:192.168.0.3:9696• 5879 353K DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:9292 to:192.168.0.3:9292• 1576 94560 DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:8777 to:192.168.0.3:8777• 0 0 DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:6080 to:192.168.0.3:6080• 0 0 DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:8776 to:192.168.0.3:8776• 38033 2279K DNAT tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:8774 to:192.168.0.3:8774
Gateway configuration: Requests from inside
Private interface (internal)
36
• 17 884 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:10127 to:192.168.1.127:22• 11 2048 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:10128 to:192.168.1.128:22• 10 640 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:10129 to:192.168.1.129:22• 14 804 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:10130 to:192.168.1.130:22• 14 896 DNAT tcp -- ens6 any anywhere anywhere tcp dpt:10131 to:192.168.1.131:22
Gateway configuration: ssh -p …
37
Networking
Controller
VM
GatewayInternet
1
2
3
4
56
Virtual routers
38
Networking
Controller
VM
Gateway1
2
56
Virtual routers
34
39
• OpenStack (Newton)• hepiaCloud• OpenStack client
Plan
OpenStack client
40
• OpenStackClient is a command-line client for OpenStack that brings thecommand set for Compute, Identity, Image, Object Storage and Block StorageAPIs together in a single shell with a uniform command structure.
https://docs.openstack.org/python-openstackclient/latest/index.html
OpenStack Client
41
• To install OpenStack Client• http://lsds.hesge.ch/api-hepiacloud-interface/
• Syntax: openstack command-name option…• openstack help• openstack command-name - help
• Documentation is available on:• https://docs.openstack.org/python-openstackclient/latest/index.html
Examples: Manage instances …
42
• openstack server list : shows the ID, name, status, private and public IP addresses for all instances in the project to which you belong
• openstack server create--flavor m1.medium --image <IMAGE_ID>--key-name <KEYNAME>--user-data <USER_DATA_FILE>--security-group <SECGROUP_NAME>--nic net-id= NETWORK_ID--meta KEY= <VALUE>--availability-zone nova:<HYPERVISOR-NAME>INSTANCE_NAME
Examples: Manage floating IP addresses
43
• openstack floating ip list : list of floating IP addresses• openstack floating ip create ext-net: create a floating IP address
• ext-net: Network to allocate floating IP from• openstack server add floating ip Instance-Name Floating-IP : assign a
floating IP to an instance• openstack server remove floating ip Instance-Name Floating-IP:
remove (disassociate) a floating IP from an instance.• openstack floating ip delete Floating-IP