KOS 350-P9 Working with Platform9 Managed OpenStack
Learn OpenStack from a DevOps user perspective
Platform9 Managed OpenStack (PMO) is a Software-as-a-Service OpenStack offering that simplifies the creation and management of an OpenStack cloud. A PMO cloud provides ease in managing your OpenStack cloud middleware to create a cloud system on the hardware of your choice. You as the end-user or cloud owner still need to efficiently and effectively manage the workloads you are deploying to that cloud.
A PMO cloud gives you the ability to architect and easily deploy the compute network and storage configurations your particular use case demands. This course will provide you with the necessary understanding of how OpenStack works and best practices to consider when deploying and managing your cloud workloads on a PMO cloud.
This class is focused on the practicalities of running VM-based workloads on OpenStack. You will be able to:
Describe the basic underlying services/projects that comprise OpenStack and
Describe their function relative to IaaS uses
Use the basic interface tools for each service (UI/CLI)
Understand best practices for managing a VM-based application lifecycle
Understand the capabilities, limitations and best practices for working with OpenStack Storage
Understand the capabilities, limitations and best practices for working with OpenStack Networking
Understand and be able to apply DevOps models for automating application workflows
Understand and be able to use basic troubleshooting strategies
Agenda and Overview
1.0 Course Introduction and Agenda
1.0 Course Introduction Lecture Slides
LAB π»0.0 Prerequisites
LAB π»1.0 - Connecting to OpenStack
1.1.1 US NIST Model of Cloud Computing
1.1.2 The Benefits of Cloud Computing
1.1.3 DevOps and Cloud Computing
1.1.4 Cloud Service Models - SaaS, PaaS, IaaS
1.1 Cloud and Dev Ops - Lecture Slides
1.2.1 IaaS: Cloud Compute
1.2.2 IaaS: Cloud Storage
1.2.3 IaaS: Cloud Networking
1.2 IaaS : Cloud Compute, Storage, Network - Lecture Slides
1.3 REST API
1.3 Programmatic Cloud - REST API - Lecture Slides
LAB π»1.3a - Connect to OpenStack with CLI via Docker
LAB π»1.3b - Connecting with OpenStack via the API
LAB π»1.3c - Connecting with OpenStack via the Python SDK
1.4.1 Templates and Programs - Murano Application Catalog
1.4.2 Templates and Programs - Heat (Orchestration)
1.4 Templates and Programs - Lecture Slides
1.5 DevOps on Cloud
1.5 DevOps on Cloud - Lecture Slides
Cloud Scale Applications Review
2.1 OpenStack Project Overview
2.1 OpenStack Project Overview - Lecture Slides
2.2 Glance - OpenStack Image Service
2.2 Glance - OpenStack Image Storage - Lecture Slides
LAB π»2.2 - Using Glance to Manage Images
2.3 Neutron - OpenStack Networking
2.3 Neutron - OpenStack Networking - Lecture Slides
LAB π»2.3 - OpenStack Networking with Neutron
2.3.1 Octavia - Loadbalancer as a Service
2.3.1 Octavia - OpenStack LBaaS - Lecture Slides
2.3.2 - Designate - DNS as a Service
2.3.2 Designate - OpenStack DNSaaS - Lecture Slides
2.4 Keystone - OpenStack Identity Service
2.4 Keystone - OpenStack Identity - Lecture Slides
LAB π»2.4 - Using and Managing Keystone
2.5 Nova - OpenStack Compute
2.5 Nova - OpenStack Compute - Lecture Slides
2.6 Cinder - OpenStack Block Storage
2.6 Cinder - OpenStack Block Storage - Lecture Slides
LAB π»2.6 Create and Attach Volumes with Cinder
OpenStack Project Overview Review
3.1.1 Lifecycle Management - Planning
3.1.2 Creating a VM and Deploying an App
3.1.3 Cleanup
3.1 Lifecycle Management - Lecture Slides
3.2 Basic VM Deployment
3.2 Basic IaaS Virtual Server (VM) Deployment Operations - Lecture Slides
3.2.1 Cloud-init
3.2.1 Adding a Cloud-init Initialization File for Cloud Image Automation - Lecture Slides
3.2.2 Network interactions
3.2.2 Attaching to a Network - Lecture Slides
LAB π» 3.2.2 Beyond Attaching Networks at Boot Time
3.2.3 Boot from Volume
3.2.3 Booting from a Volume - Lecture Slides
3.3 Direct Application Management
3.3 Direct Application Management (Ansible) - Lecture Slides
3.4 OpenStack Driven Updates
3.4 OpenStack-driven Updates with Heat - Lecture Slides
LAB 3.4 π»Deploy an Application with Heat via Clarity
3.4.1 Heat Template Language
3.4.1 Heat Template Language
LAB π»3.4.1 - Heat Resource Updates
LAB π»3.5 Using Cinder Volumes for Boot Processes
3.5 VM backups/snapshots/image Management - Lecture Slides
3.6 Underlying System Operations (Ops-driven migration) - Lecture Slides
3.5 Volumes, Backups, Snapshots
3.6 Underlying Systems Operations
LAB π»3.6 - Live Migration
Working with OpenStack Review
4 Troubleshooting OpenStack
4 Troubleshooting OpenStack - Lecture Slides
5.1 Cloud-init
5.1 Cloud-init - Lecture Slides
LAB π»5.1 - Cloud-init - Automate VM Bringup
5.2 Automation with Ansible
FREE PREVIEW5.2 - Ansible - Lecture Slides
LAB π» 5.2 - Ansible Configuration
5.3 - Heat - Lecture Slides
5.3 Autoscaling With Heat
LAB π»5.3 - Autoscaling with Heat and aodh
Automating Application Deployment Review
Module 6 - DevOps on OpenStack with CI/CD - Lecture Slides
6.1 DevOps, OpenStack, and CI/CD
LAB π»6.1a - Enabling a Gitlab-runner for our Project via Murano
LAB π»6.1b - Programmatic Interactions
LAB π»6.1c - Cleanup!
6.2 Heat Alternatives
6.2 Heat Alternatives
Lab π»6.2 - Using Tools Other Than HEAT
6.3 Adding to the Murano Application Catalog
6.3 Adding to the Application Catalog
LAB π» 6.3 Building a Murano App from a Heat Template
DevOps on OpenStack Review