Skip to main content

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 install handles 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

FeatureKindProduction (OpenStack/VMware/Baremetal)
InfrastructureDocker containersVMs or bare metal
NetworkingKind internalCalico CNI
Load balancerPort mappingMetalLB or cloud LB
StorageLocal pathLonghorn, CSI drivers
HASingle control plane3 control plane nodes
KubesprayNot usedFull 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.