Introduction to OpenStack Nabil Abdennadher, HES-SO What is - - PowerPoint PPT Presentation
Introduction to OpenStack Nabil Abdennadher, HES-SO What is - - PowerPoint PPT Presentation
Introduction to OpenStack Nabil Abdennadher, HES-SO What is OpenStack ? Free and open-source cloud-computing software platform. Provides services for managing a Cloud environment on the fly. Consists of a group of interrelated
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 releases
https://releases.openstack.org/
OpenStack today
7
example of who uses OpenStack
8
Basic services
9
- Keystone: provides identity services for OpenStack.
- A
central list
- f
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 compute
instances in an OpenStack environment. Responsibilities include spawning, scheduling and decommissioning of virtual machines on demand.
Compute service: OpenStack compute (nova)
12
- Networking service (Neutron): provides the networking capability
for OpenStack. Enables Network-Connectivity-as-a-Service for other OpenStack services.
- OpenStack Networking enables projects to create advanced virtual
network topologies which may include services such as a firewall, a load balancer and Virtual Private Network (VPN).
Networking service: Neutron
13
Dashboard: Horizon
- Horizon: The front
- ffice of OpenStack.
- The only native
graphical interface to OpenStack.
14
Storage service: Swift &Cinder
- Cinder: block storage component, analogous to the traditional access on
a 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!
16
Accessed[30.08.2017] - https://governance.openstack.org/tc/reference/projects/
17
- trove: database service: provides cloud provisioning functionality for
database engines.
- magnum: Container Infrastructure Management service. OpenStack
API service making container orchestration engines (COE) such as Docker Swarm, Kubernetes and Mesos available as first class resources in OpenStack
- Ironic: Bare metal service. Collection of components that provides
support 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
24
https://docs.openstack.org/newton/install-guide- ubuntu/overview.html
25
Hardware requirements
https://docs.openstack.org/newton/install-guide- ubuntu/overview.html
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 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 DNAT
tcp -- eno1 any anywhere 129.194.187.48 tcp dpt:6080 to:192.168.0.3:6080
- 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 Gateway Internet 1 2 3 4 5 6 Virtual routers
38
Networking
Controller VM Gateway 1 2 5 6 Virtual routers 3 4
39
- OpenStack (Newton)
- hepiaCloud
- OpenStack client
Plan
OpenStack client
40
- OpenStackClient is a command-line client for OpenStack that brings the
command set for Compute, Identity, Image, Object Storage and Block Storage APIs 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…
- penstack help
- penstack command-name - help
- Documentation is available on:
- https://docs.openstack.org/python-openstackclient/latest/index.html
Examples: Manage instances …
42
- penstack server list : shows the ID, name, status, private and public
IP addresses for all instances in the project to which you belong
- penstack 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
- penstack floating ip list : list of floating IP addresses
- penstack floating ip create ext-net: create a floating IP address
- ext-net: Network to allocate floating IP from
- penstack server add floating ip Instance-Name Floating-IP : assign a
floating IP to an instance
- penstack server remove floating ip Instance-Name Floating-IP:
remove (disassociate) a floating IP from an instance.
- penstack floating ip delete Floating-IP