Skip to main content

Prerequisites

Before deploying Optimal Platform, ensure your environment meets the following requirements.

Required Tools

ToolMinimum VersionPurpose
Docker24.0+Container runtime
kubectl1.28+Kubernetes CLI
Helm3.13+Kubernetes package manager
Terraform1.6+Infrastructure as code

Cloud-Specific CLIs

Depending on your deployment target:

CloudCLIInstallation
AWSaws-clibrew install awscli
GCPgcloudbrew install google-cloud-sdk
Azureazbrew install azure-cli

Verify Installation

Run the doctor command to verify all prerequisites:

make doctor

Expected output:

✓ Docker version 24.0.7
✓ kubectl version v1.29.0
✓ Helm version v3.14.0
✓ Terraform version v1.7.0
✓ All prerequisites met!

Kubernetes Requirements

Cluster Requirements

RequirementMinimumRecommended
Kubernetes Version1.27+1.29+
Nodes35+
CPU per node4 cores8 cores
Memory per node8 GB16 GB
Storage100 GB500 GB

Required Cluster Features

  • RBAC enabled
  • Network Policy support (Calico, Cilium, or similar)
  • Storage provisioner (for PersistentVolumeClaims)
  • LoadBalancer support (or MetalLB for bare metal)

Network Requirements

Outbound Connectivity (Connected Environments)

The following endpoints need to be accessible:

EndpointPurpose
ghcr.ioContainer images
charts.bitnami.comHelm charts
registry.k8s.ioKubernetes images
docker.ioDocker Hub images

Ports

PortProtocolPurpose
80TCPHTTP ingress
443TCPHTTPS ingress
6443TCPKubernetes API
10250TCPKubelet API

Airgap Requirements (Outpost)

For disconnected environments using Outpost:

  • Outpost CLI installed
  • Portable storage device (USB, external drive)
  • Local container registry (Harbor, Docker Registry)
  • 50+ GB storage for package bundle

See Outpost Deployment for details.

Resource Estimates

Development Environment

# Minimal resources for local development
CPU: 4 cores
Memory: 8 GB
Storage: 50 GB

Production Environment

# Recommended for production workloads
Control Plane:
Nodes: 3
CPU: 4 cores each
Memory: 8 GB each

Worker Nodes:
Nodes: 3-10 (autoscaling)
CPU: 8 cores each
Memory: 16 GB each
Storage: 100 GB SSD each

Database:
Type: Managed (RDS, CloudSQL, Azure PostgreSQL)
Size: db.r5.large or equivalent
Storage: 100 GB (autoscaling)

Cache:
Type: Managed (ElastiCache, Memorystore, Azure Cache)
Size: cache.r5.large or equivalent

Next Steps

Once prerequisites are met:

  1. Quick Start - Deploy your first environment
  2. Architecture - Understand the platform design