Architecture

Overview

Our immutable infrastructure platform is built on the Cluster API (CAPI) framework, providing a declarative, Kubernetes-native approach to cluster lifecycle management.

Architecture Components

Core Cluster API Framework

The platform is built around the Cluster API framework, which provides:

  • Declarative API: Kubernetes-native resources for cluster management
  • Provider Interface: Standardized interfaces for different infrastructure providers
  • Lifecycle Management: Automated cluster provisioning, scaling, and upgrades
  • GitOps Integration: Native support for GitOps workflows

Provider Architecture

Our platform integrates three key Cluster API providers:

1. Bootstrap Provider - Kubeadm

The Cluster API Bootstrap Provider Kubeadm handles the initialization and configuration of Kubernetes nodes:

  • Node Initialization: Automates the process of turning bare machines into Kubernetes nodes
  • Configuration Management: Manages kubelet configuration, certificates, and bootstrap tokens
  • Join Process: Handles the process of joining worker nodes to the cluster
  • Certificate Management: Automates certificate generation and rotation

2. Control Plane Provider - Kubeadm

The Cluster API Control Plane Provider Kubeadm manages the Kubernetes control plane:

  • Control Plane Deployment: Deploys and manages the Kubernetes API server, etcd, and control plane components
  • High Availability: Supports multi-node control plane deployments with load balancing
  • Upgrade Management: Handles rolling upgrades of control plane components
  • Health Monitoring: Monitors control plane health and performs recovery operations

3. Infrastructure Provider

The chosen Infrastructure Provider (our custom provider such as DCS) manages the underlying infrastructure for the target platform:

  • Compute Provisioning: Creates and manages virtual machines or instances on the target platform
  • Network Configuration: Sets up networking infrastructure
  • Resource Management: Manages compute, storage, and network resources
  • Provider Integration: Integrates with the provider's APIs and services

Cluster API Architecture

Cluster API Architecture