Skip to main content

Deployment Patterns

KubeZero supports multiple deployment patterns to accommodate different organizational needs, from simple single-cluster setups to complex multi-cluster enterprise architectures.

Pattern Selection Guide

Choose the right pattern based on your requirements:

PatternBest ForComplexityCostIsolation
Single Cluster (All Virtual)Small teams, developmentLowLowestMedium
Single Cluster (Mixed)Growing teamsMediumLowMedium
Two ClustersProduction separationMediumMediumHigh
Multi-ClusterEnterprise, complianceHighHighestHighest

Bootstrap Pattern

All deployment patterns start with the bootstrap process, which creates the initial GitOps foundation.

Bootstrap Process

  1. Local K3d Cluster: Creates temporary cluster for bootstrapping
  2. ArgoCD Installation: Sets up GitOps controller
  3. Crossplane Setup: Configures infrastructure management
  4. Target Provisioning: Creates production infrastructure
  5. GitOps Migration: Transfers control to target clusters

Pattern 1: Single Cluster - All Virtual Environments

Perfect for small teams, development environments, and cost-conscious setups.

Advantages

  • Lowest Cost: Single cluster infrastructure
  • Simple Management: One cluster to maintain
  • Resource Sharing: Efficient resource utilization
  • Quick Setup: Fastest to deploy and configure

Use Cases

  • Development and testing environments
  • Small production workloads
  • Proof of concepts
  • Teams with limited Kubernetes expertise

Configuration Example

# packages/single-cluster-virtual/kustomization.yaml
resources:
- ../../stacks/k8s-essentials
- ../../stacks/virtual-cluster
- ../../modules/vcluster

Pattern 2: Single Cluster - Mixed (Production + Virtual Non-Production)

Ideal for growing teams that need production isolation while maintaining cost efficiency.

Advantages

  • Production Isolation: Native Kubernetes isolation for production
  • Cost Efficiency: Virtual clusters for non-production
  • Security: Better security boundary for production workloads
  • Flexibility: Can add more virtual environments easily

Use Cases

  • Production applications with development/staging needs
  • Teams transitioning from single to multi-cluster
  • Cost-sensitive production workloads
  • Compliance requirements for production isolation

Pattern 3: Two Clusters - Production & Non-Production

Recommended for mature teams with clear environment separation requirements.

Advantages

  • Complete Separation: Total isolation between production and non-production
  • Independent Scaling: Scale each cluster based on needs
  • Security: Enhanced security posture
  • Compliance: Meets most regulatory requirements

Use Cases

  • Financial services and regulated industries
  • Large production workloads
  • Teams with dedicated DevOps resources
  • Organizations requiring complete environment isolation

Pattern 4: Multi-Cluster Enterprise

Designed for large organizations with complex requirements and multiple teams.

Advantages

  • Maximum Isolation: Complete separation of all environments
  • Scalability: Unlimited scaling potential
  • Team Independence: Teams can manage their own clusters
  • Compliance: Meets the strictest regulatory requirements

Use Cases

  • Enterprise organizations
  • Multi-tenant SaaS platforms
  • Organizations with strict compliance requirements
  • Teams requiring maximum flexibility and control

Advanced Patterns

Geographic Distribution

Multi-Tenant SaaS

Choosing the Right Pattern

Decision Matrix

Consider these factors when choosing a pattern:

  1. Team Size

    • Small (1-5): Single cluster patterns
    • Medium (5-20): Two cluster pattern
    • Large (20+): Multi-cluster pattern
  2. Compliance Requirements

    • Basic: Single cluster acceptable
    • Medium: Two cluster recommended
    • Strict: Multi-cluster required
  3. Budget Constraints

    • Limited: Single cluster with virtual environments
    • Medium: Two cluster setup
    • Flexible: Multi-cluster for maximum benefits
  4. Technical Expertise

    • Growing: Start with single cluster
    • Experienced: Two cluster setup
    • Expert: Multi-cluster architecture

Migration Path

You can evolve between patterns as your organization grows:

Single Cluster (Virtual) → Single Cluster (Mixed) → Two Clusters → Multi-Cluster

Each step provides a natural upgrade path without starting from scratch.

Implementation Examples

Single Cluster Setup

# Deploy single cluster with virtual environments
kubectl apply -k packages/single-cluster-virtual/

Two Cluster Setup

# Deploy production cluster
kubectl apply -k packages/production-cluster/

# Deploy non-production cluster
kubectl apply -k packages/non-production-cluster/

Multi-Cluster Setup

# Deploy management cluster
kubectl apply -k packages/management-cluster/

# Deploy environment clusters
kubectl apply -k packages/production-cluster/
kubectl apply -k packages/staging-cluster/
kubectl apply -k packages/development-cluster/

Next Steps