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:
Pattern | Best For | Complexity | Cost | Isolation |
---|---|---|---|---|
Single Cluster (All Virtual) | Small teams, development | Low | Lowest | Medium |
Single Cluster (Mixed) | Growing teams | Medium | Low | Medium |
Two Clusters | Production separation | Medium | Medium | High |
Multi-Cluster | Enterprise, compliance | High | Highest | Highest |
Bootstrap Pattern
All deployment patterns start with the bootstrap process, which creates the initial GitOps foundation.
Bootstrap Process
- Local K3d Cluster: Creates temporary cluster for bootstrapping
- ArgoCD Installation: Sets up GitOps controller
- Crossplane Setup: Configures infrastructure management
- Target Provisioning: Creates production infrastructure
- 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:
-
Team Size
- Small (1-5): Single cluster patterns
- Medium (5-20): Two cluster pattern
- Large (20+): Multi-cluster pattern
-
Compliance Requirements
- Basic: Single cluster acceptable
- Medium: Two cluster recommended
- Strict: Multi-cluster required
-
Budget Constraints
- Limited: Single cluster with virtual environments
- Medium: Two cluster setup
- Flexible: Multi-cluster for maximum benefits
-
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
- Project Structure - Understand how code is organized
- Components Deep Dive - Learn about individual components
- Migration Guide - How to migrate between patterns