Skip to main content

Advanced Scaling

Advanced scaling concepts and upcoming features.

Workload-Aware Scaling

Application Considerations

  1. Stateful vs. Stateless: Different strategies for different application types
  2. Resource Patterns: Scale based on application resource patterns
  3. Dependency Management: Consider application dependencies during scaling
  4. Performance Impact: Monitor application performance during scaling

Resource Distribution

  1. Even Distribution: Ensure workloads distributed evenly across nodes
  2. Anti-affinity: Use anti-affinity rules to spread critical workloads
  3. Resource Requests: Proper resource requests help scaling decisions
  4. Quality of Service: Consider QoS classes in scaling decisions

Auto-Discovery Configuration

NodeGroup Auto-Discovery

Enable automatic NodeGroup discovery for cluster autoscaler:

--node-group-auto-discovery=vcloud:autoscaler.k8s.io.infra.vnetwork.dev/enabled=true

Configuration Details

  • Provider: vcloud - Specifies vCloud infrastructure provider
  • Tag Key: autoscaler.k8s.io.infra.vnetwork.dev/enabled - Discovery tag
  • Tag Value: true - Enables auto-discovery for tagged NodeGroups

Benefits

  • Automatic NodeGroup detection by cluster autoscaler
  • Eliminates manual NodeGroup configuration in autoscaler
  • Enables dynamic scaling based on resource demand
  • Simplifies autoscaler setup and maintenance

Future Enhancements

Auto-scaling Features

CPU-based Scaling: Scale based on CPU utilization Memory-based Scaling: Scale based on memory pressure Custom Metrics: Scale based on application-specific metrics Scheduled Scaling: Automatic scaling based on time schedules

Enhanced Controls

Node Selection: Choose specific nodes for scaling operations Scaling Velocity: Control speed of scaling operations Rolling Scaling: More sophisticated rolling scaling strategies Integration: Better integration with monitoring and alerting