Skip to content

Local Kubernetes Cluster

Project: Arlyn Labs On-Premise Infrastructure
Date: April 2026


Overview

Arlyn Labs runs a local Kubernetes cluster on an on-premise Mac Studio to serve as the workspace backend for Coder. The cluster is provisioned using kind (Kubernetes IN Docker) and runs as a single-node setup inside Docker Desktop for Mac.

The Coder control plane runs natively as a macOS binary (not inside the cluster), backed by a PostgreSQL database managed via Homebrew. Kubernetes is used solely as the compute backend — Coder's Terraform templates provision workspace pods on the cluster on demand.


Hardware

Component Specification
Machine Apple Mac Studio
Chip Apple Ultra
CPU cores 28
Unified memory 96 GB

Software Stack

Component Detail
Container runtime Docker Desktop for Mac (containerd image store enabled)
Kubernetes distribution kind (Kubernetes IN Docker)
Kubernetes version v1.34.3
Cluster type Single-node

Cluster Configuration

The cluster runs as a single kind node named desktop-control-plane. All workloads run in the default namespace unless otherwise specified.

Setting Value
Cluster type kind
Nodes 1 (desktop-control-plane)
Kubernetes version v1.34.3
Namespace default

Docker Desktop Resource Allocation

Docker Desktop must be configured with sufficient resources to support the cluster and the workspace pods running inside it.

Resource Recommended Value
Memory 16 GB
CPUs 8 cores

These values are set in Docker Desktop → Settings → Resources.


Coder Workspace Resource Limits

Each developer workspace runs as a pod on the cluster. The following resource requests and limits are applied per workspace pod via the Coder Terraform template:

Resource Request Limit
Memory 2 GB 6 GB
CPU 0.5 cores 2 cores
Storage 10–20 GB

The recommended auto-stop idle timeout is 30–45 minutes, which reclaims cluster resources from inactive workspaces while avoiding unnecessary cold starts.


Architecture

The system is split across two layers: the Coder control plane running natively on macOS, and the workspace pods running inside the Kubernetes cluster.

┌─────────────────────────────────────────────────────────────┐
│ Mac Studio (stargazer)                                      │
│                                                             │
│  ┌─────────────────┐    ┌────────────────────────────────┐  │
│  │ Coder Server    │    │ Docker Desktop                 │  │
│  │ (native binary) │    │                                │  │
│  │                 │    │  ┌──────────────────────────┐  │  │
│  │  ┌───────────┐  │    │  │ kind cluster             │  │  │
│  │  │PostgreSQL │  │    │  │ (desktop-control-plane)  │  │  │
│  │  │(Homebrew) │  │    │  │                          │  │  │
│  │  └───────────┘  │    │  │  ┌───────┐  ┌───────┐   │  │  │
│  │                 │◄──►│  │  │  Pod  │  │  Pod  │ … │  │  │
│  └─────────────────┘    │  │  └───────┘  └───────┘   │  │  │
│                         │  └──────────────────────────┘  │  │
│                         └────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Useful Commands

Cluster health

kubectl get nodes
kubectl cluster-info

View all running resources

kubectl get all --all-namespaces

View pods

# All namespaces
kubectl get pods -A

# Default namespace only
kubectl get pods

Resource usage

kubectl top nodes
kubectl top pods -A

Deployments and services

kubectl get deployments
kubectl get services

Key References

Item Value
Machine Mac Studio (on-premise network)
Kubernetes distribution kind
Kubernetes version v1.34.3
Coder documentation coder.com/docs
Docker Desktop docker.com/products/docker-desktop