0% found this document useful (0 votes)
2 views41 pages

Open Stack

OpenStack is a cloud operating system that manages compute, storage, and networking resources in data centers through a dashboard and web interface. It offers various services including Infrastructure as a Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS), with major components like Compute, Networking, and Storage. OpenStack enables users to provision resources on demand, manage virtual machines, and supports multi-tenancy and quotas for different projects and users.

Uploaded by

AKHIL MEENA
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views41 pages

Open Stack

OpenStack is a cloud operating system that manages compute, storage, and networking resources in data centers through a dashboard and web interface. It offers various services including Infrastructure as a Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS), with major components like Compute, Networking, and Storage. OpenStack enables users to provision resources on demand, manage virtual machines, and supports multi-tenancy and quotas for different projects and users.

Uploaded by

AKHIL MEENA
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

What is OpenStack?

 OpenStack is a cloud operating system


that controls large pools of compute,
storage, and networking resources
throughout a datacenter, all managed
through a dashboard that gives
administrators control while empowering
their users to provision resources
through a web interface.
OPENSTACK CAPABILITY

Softwareas Service (SaaS)


Browser or Thin Client access

Platformas Service (PaaS)


On top of IaaS e.g. Cloud Foundry

Infrastructure
as Service (IaaS)
Provision Compute, Network, Storage
OpenStack Capability

 Virtual Machine (VMs) on demand


 Provisioning
 Snapshotting
 Network
 Storage for VMs and arbitrary files
 Multi-tenancy
 Quotas for different project, users
 User can be associated with multiple
projects
OpenStack Major Components
High-level overview of the
OpenStack core services
Service - Compute

 Project - Nova
 Manages the lifecycle of compute
instances in an OpenStack environment.
Responsibilities include spawning,
scheduling and decommissioning of virtual
machines on demand.
Compute
 OpenStack Compute serves as the core of the OpenStack
cloud by providing virtual machines on demand. Compute
schedules virtual machines to run on a set of nodes by
defining drivers that interact with underlying virtualization
mechanisms, and by exposing the functionality to the other
OpenStack components.
 Compute supports the libvirt driver libvirtd that uses KVM
as the hypervisor. The hypervisor creates virtual machines
and enables live migration from node to node. To provision
bare metal machines, youcan also use OpenStack Bare Metal
Provisioning .
 Compute interacts with the Identity service to authenticate
instance and database access, with the Image service to
access images and launch instances, and with the dashboard
service to provide user and administrative interface.
Red Hat OpenStack Platform cloud,
categories
Regions
 Each service cataloged in the Identity service
is identified by the service region, which
typically represents a geographical location,
and the service endpoint. In a cloud with
multiple compute nodes, regions enable
discrete separation of services.
 You can also use regions to share
infrastructure between Compute
installations while maintaining a high degree
of failure tolerance.
Red Hat OpenStack Platform cloud,
categories
Host Aggregates & Availability Zones
 A single Compute deployment can be partitioned into logical
groups. You can create multiple groupsof hosts that share
common resources such as storage and network, or groups
that share a special property such as trusted computing
hardware.
 To administrators, the group is presented as a Host
Aggregate with assigned compute nodes and associated
metadata. The Host Aggregate metadata is commonly used to
provide information for openstack-nova-scheduler actions,
such as limiting specific flavors or images to a subset of
hosts.
 To users, the group is presented as an Availability Zone. The
user cannot view the group metadata or see the list of hosts
in the zone.
OpenStack Bare Metal
Provisioning (ironic)
 OpenStack Bare Metal Provisioning enables
the user to provision physical, or bare metal
machines, for a variety of hardware vendors
with hardware-specific drivers.
 Bare Metal Provisioning integrates with the
Compute service to provision the bare
metal machines in the same way that virtual
machines are provisioned, and provides a
solution for the bare-metal-to-trusted-
tenant use case.
OpenStack Baremetal Provisioning
advantages
 Hadoop clusters can be deployed on bare
metal machines.
 Hyperscale and high-performance
computing (HPC) clusters can be
deployed.
 Database hosting for applications that are
sensitive to virtual machines can be used.
Interaction of Ironic and other OpenStack services when a physical
server is being provisioned
Service - Networking

 Project - Neutron

 Enables Network-Connectivity-as-a-Service for


other OpenStack services, such as OpenStack
Compute.
 Provides an API for users to define networks
and the attachments into them.
 Has a pluggable architecture that supports
many popular networking vendors and
technologies.
Service - Networking
 OpenStack Networking handles creation and management of
a virtual networking infrastructure in the OpenStack cloud
(networks, subnets, and routers). You can also deploy
advanced services such as firewalls or virtual private
networks (VPN).
 OpenStack Networking provides cloud administrators with
flexibility to decide which individual services to run on which
physical systems. All service daemons can be run on a single
physical host for evaluation purposes. Alternatively, each
service can have a unique physical host or replicated across
multiple hosts to provide redundancy.
 Because OpenStack Networking is software-defined, it can
react in real-time to changing network needs, such as
creation and assignment of new IP addresses.
OpenStack Networking advantages
 Users can create networks, control traffic, and connect
servers and devices to one or more networks.
 Flexible networking models can adapt to the network
volume and tenancy.
 IP addresses can be dedicated or floating, where floating IPs
can be used for dynamic traffic rerouting.
 If using VLAN networking, you can use a maximum of 4094
VLANs (4094 networks), where 4094 = 2^12 (minus 2
unusable) network addresses, which is imposed by the 12-bit
header limitation.
 If using VXLAN tunnel-based networks, the VNI (Virtual
Network Identifier) can use a 24-bit header, which will
essentially allow around 16 million unique
addresses/networks.
Service - Object storage

 Project - Swift

 Stores and retrieves arbitrary unstructured data


objects via a RESTFul, HTTP based API.
 It is highly fault tolerant with its data replication
and scale-out architecture. Its implementation is
not like a file server with mountable directories.
 In this case, it writes objects and files to multiple
drives, ensuring the data is replicated across a
server cluster.
Object storage
 Object Storage provides an HTTP-accessible
storage system for large amounts of data,
including static entities such as videos, images,
email messages, files, or VM images.
 Objects are stored as binaries on the underlying
file system along with metadata stored in the
extended attributes of each file.
 The Object Storage distributed architecture
supports horizontal scaling as well as failover
redundancy with software-based data replication.
Because the service supports asynchronous and
eventual consistency replication, you can use it in
a multiple data-center deployment.
OpenStack Object Storage
advantages
 Storage replicas maintain the state of objects in case
of outage. A minimum of three replicas
isrecommended.
 Storage zones host replicas. Zones ensure that each
replica of a given object can be stored separately. A
zone might represent an individual disk drive, an array,
a server, a server rack, or even an entire data center.
 Storage regions can group zones by location. Regions
can include servers or server farms that are usually
located in the same geographical area. Regions have a
separate API endpoint for each Object Storage
service installation, which allows for a discrete
separation of services.
Service- Block storage
 Project- Cinder

 Provides persistent block storage to


running instances.
 Its pluggable driver architecture facilitates
the creation and management of block
storage devices.
Block storage
 OpenStack Block Storage provides persistent block storage
management for virtual hard drives. Block Storage enables
the user to create and delete block devices, and to manage
attachment of block devices to servers.
 The actual attachment and detachment of devices is handled
through integration with the Compute service. You can use
regions and zones to handle distributed block storage hosts.
 You can use Block Storage in performance-sensitive
scenarios, such as database storage or expandable file
systems. You can also use it as a server with access to raw
block-level storage.
 Additionally, you can take volume snapshots to restore data
or to create new block storage volumes. Snapshots are
dependent on driver support.
OpenStack Block Storage
advantages
 Creating, listing and deleting volumes and
snapshots.
 Attaching and detaching volumes to
running virtual machines.
Service - Identity

 Project - Keystone
 Provides an authentication and
authorization service for other
OpenStack services.
 Provides a catalog of endpoints for all
OpenStack services.
Identity
 OpenStack Identity provides user authentication and
authorization to all OpenStack components. Identity
supports multiple authentication mechanisms, including user
name and password credentials, token based systems, and
AWS-style log-ins.
 By default, the Identity service uses a MariaDB back end for
token, catalog, policy, and identity information. This back end
is recommended for development environments or to
authenticate smaller user sets.
 You can also use multiple identity back ends concurrently,
such as LDAP and [Link] can also use memcache or Redis
for token persistence.
 Identity supports Federation with SAML. Federated Identity
establishes trust between Identity Providers (IdP) and the
services that Identity provides to the end user.
OpenStack Identity advantages
 User account management: including associated information
such as a name and password. In addition to custom users, a
user must be defined for each cataloged service.
 Tenant, or project, management : Tenants can be the user
group, project, or organization.
 Role management: Roles determine the user permissions. For
example, a role might differentiate between permissions for a
sales rep and permissions for a manager.
 Domain management: Domains determine the administrative
boundaries of Identity service entities, and support multi-
tenancy, where a domain represents a grouping of users,
groups, and tenants. A domain can have more than one
tenant, and if you use multiple concurrent Identityproviders,
each provider has one domain.
Service - Image service

 Project - Glance

 Stores and retrieves virtual machine disk


images.
 OpenStack Compute makes use of this
during instance provisioning.
Image service
 OpenStack Image acts as a registry for
virtual disk images. Users can add new
images or take a snapshot of an existing
server for immediate storage.
 The snapshots can be used for backup or as
templates for new servers.
 Registered images can be stored in the
Object Storage service or in other locations,
such as simple file systems or external Web
servers.
Service - Telemetry

 Project - Ceilometer

 Monitors and meters the OpenStack


cloud for billing, benchmarking, scalability,
and statistical purposes.
Telemetry
 OpenStack Telemetry provides user-level usage data
for OpenStack-based clouds. The data can be used for
customer billing, system monitoring, or alerts.
 Telemetry can collect data from notifications sentby
existing OpenStack components such as Compute
usage events, or by polling OpenStack infrastructure
resources such as libvirt.
 Telemetry includes a storage daemon that
communicates with authenticated agents through a
trusted messaging system to collect and aggregate
data. Additionally, the service uses a plug-in system
that you can use to add new monitors.
 The service uses a MongoDB database to store
collected data.
Service - Dashboard

 Project - Horizon
 Provides a web-based self-service portal
to interact with underlying OpenStack
services, such as launching an instance,
assigning IP addresses and configuring
access controls.
Dashboard
 OpenStack Dashboard provides a graphical
user interface for users and administrators
to perform operations such as creating and
launching instances, managing networking,
and setting access control.
 The Dashboard service provides the Project,
Admin, and Settings default dashboards. The
modular design enables the dashboard to
interface with other products such as billing,
monitoring, and additional management
tools.
Architecture of Openstack
Auth Token Usage
Provisioning Flow
 Nova API makes [Link] to Scheduler. It publishes a short message to
scheduler queue with VM info.
 Scheduler picks up the message from MQ.
 Scheduler fetches information about the whole cluster from database,
filters, selects compute node and updates DB with its ID
 Scheduler publishes message to the compute queue (based on host ID) to
trigger VM provisioning
 Nova Compute gets message from MQ
 Nova Compute makes [Link] to Nova Conductor for information on VM
from DB
 Nova Compute makes a call to Neutron API to provision network for the
instance
 Neutron configures IP, gateway, DNS name, L2 connectivity etc.
 It is assumed a volume is already created. Nova Compute contacts Cinder
to get volume data. Can also attach volumes after VM is built.
Nova Compute Driver
Nova scheduler filtering
Neutron Architecture
Glance Architecture
Cinder Architecture
Keystone Architecture
OpenStack Storage Concepts
Ephemeral storage:
 Persists until VM is terminated
 Accessible from within VM as local file system
 Used to run operating system and/or scratch space
 Managed by Nova

Block storage:
 Persists until specifically deleted by user
 Accessible from within VM as a block device (e.g. /dev/vdc)
 Used to add additional persistent storage to VM and/or run operating system
 Managed by Cinder

Object storage:
 Persists until specifically deleted by user
 Accessible from anywhere
 Used to add store files, including VM images
 Managed by Swift
Summary

 Users log into Horizon and initiates VM creation


 Keystone authorizes
 Nova initiates provisioning and saves state to DB
 Nova Scheduler finds appropriate host
 Neutron configures networking
 Cinder provides block device
 Image URI is looked up through Glance
 Image is retrieved via Swift
 VM is rendered by Hypervisor

You might also like