1. Introduction
  2. Quick Start
  3. Concepts
  4. Personas
  5. 1. Tasks
    1. 1.1. Certificate Management
      1. 1.1.1. Using Custom Certificates
      2. 1.1.2. Generating a Kubeconfig
      3. 1.1.3. Auto Rotate Certificates in KCP
    2. 1.2. Bootstrap
      1. 1.2.1. Kubeadm based bootstrap
      2. 1.2.2. MicroK8s based bootstrap
    3. 1.3. Upgrading management and workload clusters
    4. 1.4. External etcd
    5. 1.5. Using kustomize
    6. 1.6. Upgrading Cluster API components
    7. 1.7. Control plane management
      1. 1.7.1. Kubeadm based control plane management
      2. 1.7.2. MicroK8s based control plane management
    8. 1.8. Updating Machine Infrastructure and Bootstrap Templates
    9. 1.9. Automated Machine management
      1. 1.9.1. Scaling
      2. 1.9.2. Autoscaling
      3. 1.9.3. Healthchecking
    10. 1.10. Experimental Features
      1. 1.10.1. MachinePools
      2. 1.10.2. ClusterResourceSet
      3. 1.10.3. ClusterClass
        1. 1.10.3.1. Writing a ClusterClass
        2. 1.10.3.2. Changing a ClusterClass
        3. 1.10.3.3. Operating a managed Cluster
      4. 1.10.4. Runtime SDK
        1. 1.10.4.1. Implementing Runtime Extensions
        2. 1.10.4.2. Implementing Lifecycle Hook Extensions
        3. 1.10.4.3. Implementing Topology Mutation Hook Extensions
        4. 1.10.4.4. Deploying Runtime Extensions
      5. 1.10.5. Ignition Bootstrap configuration
    11. 1.11. Running multiple providers
  6. 2. Security Guidelines
    1. 2.1. Pod Security Standards
  7. 3. clusterctl CLI
    1. 3.1. clusterctl Commands
      1. 3.1.1. init
      2. 3.1.2. generate cluster
      3. 3.1.3. generate provider
      4. 3.1.4. generate yaml
      5. 3.1.5. get kubeconfig
      6. 3.1.6. describe cluster
      7. 3.1.7. move
      8. 3.1.8. upgrade
      9. 3.1.9. delete
      10. 3.1.10. completion
      11. 3.1.11. alpha rollout
      12. 3.1.12. alpha topology plan
      13. 3.1.13. additional commands
    2. 3.2. clusterctl Configuration
    3. 3.3. clusterctl Provider Contract
    4. 3.4. clusterctl for Developers
  8. 4. Developer Guide
    1. 4.1. Repository Layout
    2. 4.2. Rapid iterative development with Tilt
    3. 4.3. Logging
    4. 4.4. Testing
    5. 4.5. Developing E2E tests
    6. 4.6. Controllers
      1. 4.6.1. Bootstrap
      2. 4.6.2. Cluster
      3. 4.6.3. Machine
      4. 4.6.4. MachineSet
      5. 4.6.5. MachineDeployment
      6. 4.6.6. MachineHealthCheck
      7. 4.6.7. Control Plane
      8. 4.6.8. MachinePool
      9. 4.6.9. ClusterTopology
      10. 4.6.10. ClusterResourceSet
      11. 4.6.11. Metadata propagation
      12. 4.6.12. Multi-tenancy
      13. 4.6.13. Support multiple instances
    7. 4.7. Provider Implementers
      1. 4.7.1. Version migration
        1. 4.7.1.1. v0.3 to v0.4
        2. 4.7.1.2. v0.4 to v1.0
        3. 4.7.1.3. v1.0 to v1.1
        4. 4.7.1.4. v1.1 to v1.2
        5. 4.7.1.5. v1.2 to v1.3
      2. 4.7.2. Provider contracts
        1. 4.7.2.1. Cluster Infrastructure
        2. 4.7.2.2. Machine Infrastructure
        3. 4.7.2.3. Bootstrap
      3. 4.7.3. Implementer's Guide
        1. 4.7.3.1. Naming
        2. 4.7.3.2. Configure
        3. 4.7.3.3. Create Repo and Generate CRDs
        4. 4.7.3.4. Create API
        5. 4.7.3.5. Webhooks
        6. 4.7.3.6. Controllers and Reconciliation
        7. 4.7.3.7. Building, Running, Testing
    8. 4.8. CustomResourceDefinitions relationships
  9. 5. Troubleshooting
  10. 6. Reference
    1. 6.1. API Reference
    2. 6.2. Glossary
    3. 6.3. Provider List
    4. 6.4. Ports
    5. 6.5. Code of Conduct
    6. 6.6. Contributing
    7. 6.7. Jobs
    8. 6.8. Code Review in Cluster API
    9. 6.9. Version Support
    10. 6.10. Roadmap
    11. 6.11. Supported Labels and Annotations

The Cluster API Book

Kubernetes Community Code of Conduct

Please refer to our Kubernetes Community Code of Conduct