Kind Provider Setup (Local Development)
Purpose: For platform engineers and contributors, shows how to deploy a local openCenter cluster using Kind for development and testing.
Prerequisites
- Docker Desktop or Podman running
- Kind installed (
mise installhandles this if using the CLI repo) - openCenter CLI installed (see CLI Installation)
- 8GB+ RAM available for Docker/Podman
Initialize Cluster
opencenter cluster init dev-cluster --org dev-team --type kind
Configure
Edit the cluster configuration:
opencenter cluster edit dev-cluster
Kind-specific configuration:
opencenter:
infrastructure:
provider: kind
cloud:
kind:
workers: 2
control_planes: 1
kubernetes_version: "1.33.5"
services:
# Minimal service set for local development
kube-prometheus-stack:
enabled: true
cert-manager:
enabled: true
gateway-api:
enabled: true
gateway:
enabled: true
Kind clusters skip infrastructure provisioning (no Terraform) and Kubespray. Kind creates the cluster directly, then FluxCD bootstraps services.
Podman Runtime
If you run Kind on Podman, set the experimental provider variable before bootstrapping:
export KIND_EXPERIMENTAL_PROVIDER=podman
opencenter cluster bootstrap dev-cluster
This variable is relevant only for the local Kind provider.
Deploy
# Validate
opencenter cluster validate dev-cluster
# Generate GitOps repository
opencenter cluster setup dev-cluster --render
# Create Kind cluster and bootstrap
opencenter cluster bootstrap dev-cluster
What's Different from Production
| Feature | Kind | Production (OpenStack/VMware/Baremetal) |
|---|---|---|
| Infrastructure | Docker containers | VMs or bare metal |
| Networking | Kind internal | Calico CNI |
| Load balancer | Port mapping | MetalLB or cloud LB |
| Storage | Local path | Longhorn, CSI drivers |
| HA | Single control plane | 3 control plane nodes |
| Kubespray | Not used | Full deployment |
Verification
# Check cluster
kubectl cluster-info --context kind-dev-cluster
# Check nodes
kubectl get nodes
# Watch FluxCD reconciliation
kubectl get kustomizations -n flux-system -w
Cleanup
opencenter cluster destroy dev-cluster
# Or directly:
kind delete cluster --name dev-cluster
Common Issues
If Kind fails to start, check Docker resource limits. Kind requires at least 4GB RAM and 2 CPUs allocated to Docker Desktop.
If services fail to deploy, check that port 80 and 443 are not in use by other processes on your machine.