dgt_plat10 – Kubernetes on OpenStack

Module Title: dgt_plat10 – Kubernetes on OpenStack

Description:

Most platforms expose Kubernetes to developers, and on a sovereign cloud those clusters run on OpenStack. This module shows how Kubernetes integrates with OpenStack networking, storage and identity, and how to create and manage clusters declaratively so that a new cluster becomes a self-service request instead of a project.

Module Objectives:

  1. Cloud Provider OpenStack: Use the OpenStack cloud controller manager to get load balancers from Octavia and node information from Nova.

  2. Persistent Storage: Provide persistent volumes with the Cinder CSI driver and shared file systems with the Manila CSI driver.

  3. Cluster Lifecycle: Compare Magnum with Cluster API and the Cluster API Provider OpenStack (CAPO) for creating, scaling and upgrading clusters.

  4. Identity and Access: Integrate Keystone and an external identity provider with Kubernetes authentication and RBAC.

  5. Multi-cluster Operations: Manage many clusters with GitOps and consistent add-ons (ingress, monitoring, policies).

Module Content:

  • Reference design: Networks, security groups and load balancers for a production Kubernetes cluster on OpenStack.

  • Cluster API in practice: Management cluster, workload clusters, machine templates and declarative upgrades.

  • Storage classes: Cinder volume types, topology and snapshots exposed as Kubernetes storage classes.

  • Sovereign Cloud Stack: How the SCS project standardizes Kubernetes-as-a-Service on OpenStack.

  • Cost and capacity: Quotas and flavors as the basis for fair sharing between teams.

Hands-on lab in natural language:

Students instruct the AI agent to bootstrap a management cluster and use Cluster API Provider OpenStack to create a workload cluster on the lab cloud, with Octavia load balancers and Cinder volumes. Students then deploy a test application, verify that its service and volume are backed by OpenStack resources, and ask the agent to perform a cluster upgrade while they monitor it.

Target Audience:

This module is for students who have completed the Linux, DevOps and Containers modules, and for system administrators, DevOps engineers and SREs who want to move towards Platform Engineering. Experience with Kubernetes is recommended.

The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy