Search This Blog

2015-04-10

Introduction to OpenStack Components Summary

Overview of Unfamiliar Components

Image storage on swift which has a Metadata layer for virtual machine images called Glance.
- ISOs
- Metadata in glance is used to spin up certain flavours

Ceilometer - Monitoring and metering of performance (eg. billing)
Heat - for orchestration that allows you to deploy templates from text files (json)

OpenStack API Call Method

The way in which OpenStack communicates with the servers is that it uses a RabbitMQ service as a queuing layer such that the steps are as follows:
  1. Request made to Openstack API
  2. Response back as to what services are available in JSON
  3. All services behind the APIs are listening for associated commands and the API is able to queue the majority of the commands
  4. There is a scheduler component that is able to figure out how busy individual cells or machines are so that it is able to divide workloads
  5. Responses come back on the same radio frequencies so that the APIs know the status of each service

API requests are made through JSON using GET and POST requests

Nova Components

Nova-Api - accepts and responds to end user compute API calles
Nova-Computer - is a daemon that can control virtual machines and power them on/off
nova-volume - attaches and detaches volumes to compute instances
nova-network - sets up network interfaces like bridging interfaces or changing iptables rules
nova-schedule - takes an instance and figures out where it should run
queue (RabbitMQ) - central hub for passing messages between daemons
SQL Database - build-time and runtime state for cloud infra. Instance types available, instances in use, networks available and projects
Nova-console - provides console server via nova-console, novncproxt and nova-consoleauth)


Swift - Storage


swift-proxy - allows you request file or containers
speaks http outside of the cluster of swift and is the only thing that can speak outside of swift.

uses PUT, PUT, POST, DELETE, HEAD requests to:
  • update metadata
  • list containers
  • upload objects
  • overwrites metadata
  • creates containers
  • delete objects or containers
  • retrieves metadata for the account, container or object

Configure permissions on Container servers (which are like folders) and the access is controlled via Account servers.

keystone handles auth

Glance

Storage and retrieval for disk images

stored images can be used as templates and can store unlimited backups.

Images are stored in OpenStack Block Storage or other backend APIs

Has a REST interface to query and stream images

Users can choose available or create their own and snapshots exists as wel

Functions of Glance:
  • Upload disk images
  • retrieve disk images
  • list available
  • set permissions
  • querying properties of disk images

requires a registry which stores and retrieves metadata information from the database. the database stores the image metadata.

The storage repository is where the actual images are stored which normally uses Swift as underlying storage. Glance is primarily an indexing service and references swift as its underlying storage layer.

Cinder - Block Storage

Provides block storage to all hypervisors. Can attach and detach storage to each. Integrated into openstack and allows users to manage their storage needs via the web UI.

Cinder features:
  • Create and Delete volumes
  • create and delete snapshot of volumes
  • attach and detach volumes
  • create new volumes from snapshots
  • clone volumes
  • can copy images to volumes using glance or copy volumes to images (volumes to glance)
  • view stats of volumes (usage space, perf)

Neutron Networking

Create networks and attach to servers
Allows you to specify
private and floating IPs in order to allocate a segregated segment for which the VMs will communicate on
Neutron can emulate certain functions like switches, routers, ha-proxy, and other services that would normally be configurable in a physical network. Can implement either traditional linux bridges, or utilize openvswitch for some of these layer 2 services.


Plugins:
cisco virtual and physical switches
NEC openflow
openvswitch
room network operating system
linux bridges

requires a database to store networking state for all of the plugins

Horizon - Web Dashboard


completely API call based
can allow individual users their own interfaces






No comments:

Post a Comment