Overview
The aim of this course is to get familiar with the OpenStack environment both from the operator and administrator side. After a brief introduction to cloud computing you will get your own OpenStack instance and perform hands-on operational and administrative actions. The course covers all the basic components of the OpenStack from general architecture to administering the cloud. The format of the course comprises around 75% of hands-on workshop in the real OpenStack environment.
Requirements
- Basic Linux administration skills
- Basic networking knowledge
- Basic knowledge of cloud computing paradigm
Course Outline
1. Introduction to OpenStack
- History of the cloud and OpenStack
- Cloud features
- Cloud models
- private, public, hybrid
- on-premise, IaaS, PaaS, SaaS
- Public and private cloud deployments based on OpenStack
- Open source and commercial OpenStack distributions
- OpenStack deployment models
- OpenStack ecosystem
- Modules
- Underlying tools
- Integrations
- OpenStack lifecycle
- OpenStack certification
- OpenStack lab (VM) for this course
2. Hands-on OpenStack administration workshop
- Getting to know OpenStack
- OpenStack components (Keystone, Glance, Nova, Neutron, Cinder, Swift, Heat)
- Interaction with OpenStack cloud
- OpenStack daemons and API communication flow
- Keystone – Identity management service
- Domains, projects, users and roles
- Managing Keystone catalogue services and endpoints
- Manage/Create domains, groups, projects, users, and roles
- Verification of Keystone services
- Glance – Image service
- Image features (properties, metadata, format, container)
- Uploading and downloading image
- Sharing images
- Manage quotas for image service
- Verification of Glance services
- Neutron – Networking
- Basic Neutron network resource types
- Manage tenant networks, subnets,
- Manage security groups and rules
- East-West routing
- Network namespaces
- Manage external/provider networks
- North-South routing
- Floating IPs management
- Manage network quotas
- Basic network troubleshooting (namespaces, tcpdump, etc.)
- Networking quotas
- Verification of Neutron services
- Nova – Compute service
- Interfaces to hypervisors
- Keypair management
- Flavour management
- Instance parameters
- Creating an instance
- Verification of spawned instances
- Snapshotting
- Instance management
- Assigning floating IPs
- Interactive console and console log
- Security groups assignment
- Compute quotas
- Getting statistics from Nova
- Placement API and Nova Cells v2
- Verification of Nova services
- Cinder – Block Storage
- Volume parameters
- Creating volume
- Manage volume
- Attaching volume to Nova instance
- Managing volume snapshots
- Managing volume backups
- Restoring backups
- Managing volume quotas
- Adding new storage backend
- LVM, storage array and Ceph storage backends
- Ceph in OpenStack
- Verification of Cinder services
- 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 Template and its components
- Creating Heat stack
- Verification of Heat stack
- Updating Heat stack
- Verification of Heat services