6 Core Projects#

A combined total of 45 various projects in the OpenStack ecosystem.

There are currently 6 core projects.

  1. Nova - Compute service
  2. Neutron - Networking
  3. Swift - HA & Scalable, Object Storage
  4. Glance - Image management services
  5. Keystone - Identity service
  6. Cinder - Block storage service
  1. Horizon - Dashboard
  2. Heat - Infra Orchestration
  3. Ceilometer - Metering and data collection
  4. Rally - Benchmarking
  5. Ironic - Bare metal provisioning
  6. Designate - DNS as a service
  7. Manila - Shared filesystems, NFS etc
  8. Trove - Database as a service
  9. Kolla - Container deployment
  10. Magnum - Container Orchestration Engine Provisioning
  11. Murano - Application catalog
  12. Sahara - Big Data Processing Framework Provisioning

Production OpenStack Deployment#

  • Has one or more nodes.
  • A node is usually a physical server on which OpenStack services are run.
  • A node can also be a VM in dev/test environments
  • An All-In-One (AIO) node is a single machine that performs all OpenStack cloud functions
  • Network Node: provides networking
  • Usually runs Neutron services
  • Compute Nodes:
  • Runs hypervisor
    • Instances are created on this node
  • Note: cpu must support virtualization
  • NUMA support recommended

Storage Types#

  1. Block storage
  2. File-based storage
  3. Object storage

Note, default with OpenStack is ephemeral file-storage that only persists as long as the VM is running. For persistent storage, the 3 types above are required.

Block Storage#

Provides persistent storage volumes to VMs.

File-based storage#

Enables VMs to mount a remote file-system and share data.

Protocols:

  • NFS
  • CIFS
  • GlusterFS
  • HDFS

Object Storage#

  • Swift is similar to AWS S3.
  • Stores and retrieves binary objects. Binary object is any file in any format.
  • Provides data replication for reliability.

Cloud Controller Node#

Functions as a control plane for the cloud.

Runs most of the services required to run the OpenStack Cloud.

Compute Node#

Runs the hypervisor and where containers are deployed.

Network Node#

Routes traffic, DNS, virtual switches, etc. Service it uses is called Neutron.

  • Layer3 Agent
  • DHCP Agent
  • Layer2 Agent
  • Metadata Agent

Storage Node#

Contains disks for providing persistent storage to instances.

  • LVM + Physical disks
  • Managed by Cinder volume
  • Uses LVM driver

Keystone Deep Dive#

RBAC
Role Based Access Control