Course Outline
1. Introduction to OpenStack
-
History of cloud computing and OpenStack
-
Key cloud features
-
Cloud deployment models
-
Private, public, and hybrid
-
On-premise, IaaS, PaaS, and SaaS
-
-
Public and private cloud deployments utilizing OpenStack
-
Open source and commercial OpenStack distributions
-
OpenStack deployment architectures
-
The OpenStack ecosystem
-
Core Modules
-
Underlying tools
-
Integrations
-
-
The OpenStack lifecycle
-
OpenStack certification
-
The OpenStack lab (VM) provided for this course
2. Hands-on OpenStack Administration Workshop
-
Familiarizing oneself with OpenStack
-
OpenStack components (Keystone, Glance, Nova, Neutron, Cinder, Swift, Heat)
-
Interacting with the OpenStack cloud
-
OpenStack daemons and API communication flow
-
-
Keystone - Identity Management Service
-
Keystone architecture
-
Authentication mechanisms and available backends
-
Token types and token management
-
Authorization in OpenStack - roles and oslo.policy
-
Keystone resources - domains, projects, and users
-
openrc and clouds.yaml - CLI client configuration
-
The OpenStack service catalog
-
Adding new OpenStack services
-
The quota system in OpenStack
-
-
Glance - Image Service
-
Images adapted for the cloud
-
Image features (properties, metadata, format, container)
-
Uploading and downloading images
-
Sharing images
-
Glance image stores
-
Protected images
-
Managing quotas for the image service
-
Verification of Glance services
-
-
Neutron - Networking
-
Architecture and Neutron services
-
The ML2 plugin
-
Networking on compute nodes - analysis
-
Networking concepts and tools used by Neutron
-
Basic Neutron network resource types
-
Managing tenant networks and subnets
-
Managing security groups and rules
-
East-West routing
-
Network namespaces
-
Managing external/provider networks
-
North-South routing
-
Floating IP management
-
Role-based access control in Neutron
-
Managing network quotas
-
Internals of SDN and NFV (iptables, ip route, OVS)
-
Basic network troubleshooting (namespaces, tcpdump, etc.)
-
Networking quotas
-
Verification of Neutron services
-
-
Nova - Compute Service
-
Interfaces to hypervisors
-
Keypair management
-
Flavor management
-
Flavors and CPU topology
-
Instance parameters
-
Creating an instance
-
Verifying spawned instances
-
Snapshotting
-
Instance management
-
Resizing instances
-
Assigning floating IPs
-
Interactive console and console log
-
Security group assignment
-
Internals of security groups and port-security features (iptables)
-
Internals of L3 routers
-
Compute quotas
-
Retrieving statistics from Nova
-
Placement API and Nova Cells v2
-
Placement API and instance scheduling
-
Placement API client commands
-
Verification of Nova services
-
-
Cinder - Block Storage
-
Volume parameters
-
Creating volumes
-
Managing volumes
-
Attaching volumes to Nova instances
-
Managing volume snapshots
-
Managing volume backups
-
Internals of snapshots and backups in Cinder
-
Transferring volumes between projects
-
Restoring backups
-
Managing volume quotas
-
Adding new storage backends
-
QoS in Cinder
-
LVM, storage array, and Ceph storage backends
-
Ceph in OpenStack
-
Integrating Ceph and Cinder
-
Best practices for Ceph deployments
-
Verification of Cinder services
-
-
Barbican - Key Management Service
-
Barbican architecture
-
Storing passphrases
-
Generating and storing symmetric encryption keys
-
Volume encryption mechanisms
-
Configuring Cinder storage types for volume encryption
-
Limitations of volume encryption
-
Storing X.509 certificate bundles
-
-
Swift - Object Storage
-
Swift components and processes
-
Managing containers and objects
-
Managing access control lists
-
Setting up object expiration
-
The Ring and storage policies
-
Monitoring available storage space
-
Setting up quotas
-
Verification of Swift services
-
-
Heat - Orchestration
-
Heat Orchestration Templates and their components
-
Creating a Heat stack
-
Verifying a Heat stack
-
Updating a Heat stack
-
Verification of Heat services
-
-
Basic troubleshooting
-
Analyzing log files
-
Centralized logging
-
Debugging OpenStack client queries
-
Managing the OpenStack database
-
Extracting information from service databases
-
Backing up OpenStack
-
Analyzing compute node status
-
Analyzing instance status
-
Troubleshooting instances on the compute node (libvirt)
-
Analyzing the AMQP broker (RabbitMQ)
-
Troubleshooting RabbitMQ
-
Metadata services
-
General approaches to diagnosing OpenStack issues
-
Troubleshooting network problems
-
Troubleshooting network performance
-
Instance backup and recovery
-
3. Advanced Topics
-
Octavia - Load Balancing-as-a-Service
-
Architecture
-
Objects and request flow
-
Octavia flavors
-
Octavia Availability Zones
-
Creating an HTTP load balancer
-
Creating a TCP load balancer
-
Creating an HTTPS passthrough load balancer
-
Listeners, Pools, and Health Monitors
-
Layer 7 load balancing in Octavia
-
Building the Amphora image
-
LB Failover
-
Networking and monitoring details
-
Troubleshooting Octavia
-
-
Hardware considerations and capacity planning
-
Compute hardware
-
Network design
-
Storage design
-
Flavor sizing
-
Resource overcommitment
-
-
Highly Available control plane
-
HA in OpenStack services
-
HA database
-
HA message queue
-
Active-Active vs Active-Passive deployments
-
Multi-region deployments
-
-
Cloud partitioning and scheduler filters
-
Why and how to implement cloud partitions (host-aggregates)
-
Nova scheduler filters
-
Diving into filter code
-
-
Workload migration
-
Cold and live migration
-
Live migration tuning
-
Migration exercises and troubleshooting
-
-
Policies and authorization in OpenStack
-
Oslo.policy
-
Creating meaningful new roles with policy files
-
Verifying API access for specific users
-
-
In-depth OpenStack networking (SDN) (2-3h)
-
Network types (local, flat, vlan, vxlan, gre)
-
Detailed network flow and architecture in various Neutron deployments
-
East-West traffic in tenant networks
-
North-South traffic in tenant networks
-
Traffic in provider-only deployments
-
-
Neutron plugins
- Linux Bridge
- Open vSwitch
-
OVS troubleshooting and exercises
-
Troubleshooting security groups (iptables, tcpdump)
-
Port-security adjustments and vIP management
-
Distributed Virtual Routers
-
LBaaS + Octavia project
-
VPNaaS
-
-
OpenStack monitoring and telemetry
-
Ceilometer service
-
External monitoring
-
-
Advanced cloud/hypervisor features
-
CPU pinning / NUMA architecture
-
SR-IOV
-
-
Cloud-init and image customization
-
Metadata Service
-
Retrieving information from the metadata service
-
-
Block storage backends
-
LVM
-
Ceph RBD
-
Physical appliances
-
Storage network considerations
-
-
Upgrading OpenStack
-
Upgrade strategies and procedures
-
Zero-downtime upgrades
-
-
Bare-metal provisioning with OpenStack
-
Ironic module
-
Undercloud and overcloud concepts
-
-
Various exercises on troubleshooting the OpenStack cluster
-
Sample examination tasks
-
The future of OpenStack
Requirements
- Basic Linux administration skills
- Basic networking knowledge
- Basic understanding of cloud computing paradigms
Testimonials (1)
communication, knowledge from experience, solve problems,