CAPPX
CAPPX stands for Cluster API Provider for Proxmox (k8s-proxmox/cluster-api-provider-proxmox). It is an implementation of the Cluster API specifically designed to work with Proxmox Virtual Environment (Proxmox VE). This provider focuses on enabling the management of Kubernetes clusters on Proxmox VE by using Kubernetes-style APIs.
Key Features of CAPPX:
- Infrastructure Controller: CAPPX includes controllers for managing Proxmox-specific infrastructure components like
ProxmoxCluster
andProxmoxMachine
. These controllers interact with the Proxmox API to provision and manage virtual machines that form part of the Kubernetes cluster. - No Pre-configured VM Templates Needed: Unlike other systems that require pre-configured VM templates, CAPPX allows you to specify any VM image in
ProxmoxMachine.Spec.Image
, and the provider handles the provisioning from scratch. - Custom Cloud Config Support: CAPPX uses VNC WebSocket to bootstrap nodes, allowing for custom cloud configurations that might not be possible using just the Proxmox API.
- Compatibility: It supports a variety of features like flexible VM ID and node assignments, and it is compatible with ISO image formats for building node images.
CAPPX requires a separate control plane provider and a bootstrap provider to fully initialize and manage a Kubernetes cluster. For instance, users typically combine CAPPX with the KubeadmControlPlane
and KubeadmBootstrap
providers to fully set up and manage a cluster.
Quick Start Example:
To initialize a management cluster with CAPPX, you would use the clusterctl
command with appropriate configurations and environment variables pointing to your Proxmox setup. This command initializes the Cluster API components and generates the necessary manifests to create and manage your Kubernetes clusters within the Proxmox environment oai_citation:2,GitHub – k8s-proxmox/cluster-api-provider-proxmox: Cluster API provider implementation for Proxmox VE oai_citation:1,Provider List – The Cluster API Book.
Overall, CAPPX is a flexible and powerful tool for those looking to leverage Proxmox VE as a platform for running Kubernetes clusters.