Module Title: dgt_plat10 – Crossplane Introduction
Description:
Crossplane is a CNCF project that turns a Kubernetes cluster into a universal control plane: cloud resources, databases, DNS records and even other clusters are managed as Kubernetes objects and continuously reconciled. For a platform team it is the engine behind self-service APIs. This module introduces its architecture and compares it with the infrastructure-as-code approach of OpenTofu covered in the DevOps module.
Module Objectives:
-
Control Plane Thinking: Understand the difference between running a tool once (plan and apply) and a controller that continuously reconciles desired and actual state.
-
Crossplane Architecture: Learn the roles of the Crossplane core, providers, managed resources and provider configurations.
-
Providers: Install and configure providers, including the OpenStack provider, the Kubernetes and Helm providers and providers for public clouds.
-
Managed Resources: Create, observe, import and delete external resources through Kubernetes manifests, and understand deletion and management policies.
-
Crossplane and OpenTofu: Decide when to use Crossplane, when to use OpenTofu, and how they can coexist in the same platform.
Module Content:
-
Installation: Installing Crossplane with Helm and verifying its controllers.
-
Credentials: Storing OpenStack application credentials in Kubernetes secrets or an external secret store such as OpenBao.
-
Drift detection: What happens when someone changes a resource by hand, and how reconciliation restores it.
-
Observability: Conditions, events and metrics to understand why a resource is not ready.
-
GitOps: Managing Crossplane manifests with Argo CD or Flux.
Hands-on lab in natural language:
Students ask the AI agent to install Crossplane and the OpenStack provider in a lab cluster, then to create a network, a security group and a server on the lab OpenStack cloud as Kubernetes managed resources. Students modify a resource by hand in OpenStack, watch Crossplane detect and correct the drift, and review the YAML the agent produced line by line.
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
