Crossplane 1.0: Infrastructure as Code on Kubernetes

K8s Guru
3 min read
Crossplane 1.0: Infrastructure as Code on Kubernetes

Introduction

Crossplane 1.0 — Infrastructure as Code on Kubernetes — was released on September 14, 2021.

GitOps and platform tooling pay off (or fall apart) when you scale to many apps, many environments, and many clusters.

In this release: Crossplane 1.0 achieves General Availability, enabling teams to provision and manage cloud infrastructure using Kubernetes-native APIs and GitOps workflows.


Universal Control Plane

  • Kubernetes-native APIs extend the Kubernetes API server to manage cloud resources as first-class Kubernetes objects.
  • Provider ecosystem supports AWS, Azure, GCP, Alibaba Cloud, and other cloud providers through extensible providers.
  • Resource composition enables building higher-level abstractions from primitive cloud resources.
  • GitOps integration allows infrastructure to be managed declaratively from Git repositories.

Infrastructure Management

  1. Cloud resource provisioning creates and manages databases, storage buckets, compute instances, and networking resources.
  2. Multi-cloud support enables consistent infrastructure management across different cloud providers.
  3. Resource lifecycle management handles creation, updates, and deletion of cloud resources automatically.
  4. Dependency management ensures resources are created in the correct order based on dependencies.

Composition & Abstractions

  • Composite resources (XRs) enable teams to define custom infrastructure abstractions tailored to their needs.
  • Composition definitions specify how composite resources map to underlying cloud resources.
  • Resource claims provide a simple interface for application teams to request infrastructure without cloud expertise.
  • Policy enforcement ensures infrastructure adheres to organizational standards and compliance requirements.

Provider Ecosystem

  • AWS Provider supports EC2, RDS, S3, VPC, and other AWS services with comprehensive resource coverage.
  • Azure Provider enables management of Azure resources including VMs, databases, and storage accounts.
  • GCP Provider supports Google Cloud resources with native integration.
  • Community providers expand support to additional cloud platforms and services.

Operational Benefits

  • Unified tooling enables teams to use kubectl, Helm, and GitOps tools for both applications and infrastructure.
  • RBAC integration provides fine-grained access control for infrastructure provisioning.
  • Observability exposes metrics and events for infrastructure operations through Kubernetes-native mechanisms.
  • Disaster recovery enables infrastructure to be recreated from Git repositories in case of failures.

Getting Started

kubectl create namespace crossplane-system
helm repo add crossplane-stable https://charts.crossplane.io/stable
helm install crossplane crossplane-stable/crossplane --namespace crossplane-system

Install AWS provider:

kubectl apply -f https://raw.githubusercontent.com/crossplane/provider-aws/v0.24.0/cluster/install.yaml

Create an S3 bucket:

apiVersion: s3.aws.crossplane.io/v1beta1
kind: Bucket
metadata:
  name: my-bucket
spec:
  forProvider:
    region: us-west-2
  providerConfigRef:
    name: aws-provider

Summary

AspectDetails
Release DateSeptember 14, 2021
Headline FeaturesUniversal control plane, multi-cloud support, Kubernetes-native APIs, composition
Why it MattersUnifies application and infrastructure management using Kubernetes tooling and GitOps workflows

Crossplane 1.0 transforms infrastructure management by bringing it into the Kubernetes ecosystem, enabling teams to manage cloud resources with the same tools and workflows they use for applications.