Skip to content

Creating Your First Cluster

This guide walks you through the process of setting up your first Kubernetes cluster with Stackbooster.io optimization. Follow these steps to start realizing cost savings and operational improvements for your containerized workloads.

Prerequisites

Before creating your first optimized cluster, ensure you have:

  • Completed the AWS integration
  • Administrative access to your AWS account
  • Basic familiarity with Kubernetes concepts
  • kubectl installed on your local machine

Option 1: Connect an Existing EKS Cluster

If you already have EKS clusters running in AWS, connecting them to Stackbooster.io is straightforward:

  1. In your Stackbooster.io dashboard, navigate to "Clusters" > "Add Cluster"
  2. Select "Connect Existing Cluster"
  3. Choose your AWS account from the dropdown
  4. Select the region containing your cluster
  5. Choose your EKS cluster from the list
  6. Review the cluster details and click "Connect Cluster"
  7. Install the Stackbooster.io agent using the provided kubectl command:
bash
kubectl apply -f https://api.stackbooster.io/k8s-agent/install/YOUR_CLUSTER_ID/
  1. Wait for the agent status to change to "Connected" (typically 2-3 minutes)
  2. Complete the initial cluster configuration:
    • Set resource limits and requests policies
    • Configure scaling preferences
    • Set up notification preferences

Option 2: Create a New Optimized Cluster

If you want to create a new EKS cluster that's optimized from day one:

  1. In your Stackbooster.io dashboard, navigate to "Clusters" > "Add Cluster"

  2. Select "Create New Cluster"

  3. Choose your AWS account and region

  4. Configure cluster basics:

    • Cluster name
    • Kubernetes version (we recommend the latest stable version)
    • VPC settings (use existing or create new)
    • Subnet configuration
  5. Configure node groups with optimization in mind:

    • Select "Cost-optimized" node group configuration
    • Choose instance types based on your workload profile:
      • General Purpose: Balanced CPU/memory ratio
      • Compute Optimized: High CPU, standard memory
      • Memory Optimized: Standard CPU, high memory
  6. Enable Stackbooster.io advanced features:

    • Spot instance integration for non-critical workloads
    • Automated hibernation scheduling
    • Defragmentation and bin packing
  7. Configure cluster access:

    • Create or select IAM roles
    • Set up kubectl access for your team
  8. Review your configuration and click "Create Cluster"

  9. Monitor the creation progress (typically 10-15 minutes)

Initial Cluster Configuration

Once your cluster is connected or created, complete these configuration steps:

1. Set Workload Priorities

Categorize your workloads by priority to inform scaling decisions:

  1. Navigate to your cluster and select "Workload Priorities"
  2. Assign each namespace or workload to a priority tier:
    • Critical: Never compromised for cost savings
    • Important: Minimally impacted during cost optimizations
    • Standard: Balanced approach to cost and performance
    • Low: Aggressively optimized for cost savings

2. Configure Scaling Boundaries

Set appropriate limits for your autoscaling:

  1. Navigate to "Scaling Configuration"
  2. Define the following parameters:
    • Minimum node count (cluster never scales below this)
    • Maximum node count (cluster never scales above this)
    • Scale-up responsiveness (how quickly to add nodes)
    • Scale-down patience (how long to wait before removing nodes)

3. Set Hibernation Schedule (Optional)

If your cluster doesn't need to run 24/7:

  1. Navigate to "Hibernation Settings"
  2. Enable scheduled hibernation
  3. Define active hours (e.g., Monday-Friday, 8am-8pm)
  4. Configure wake-up triggers (e.g., API calls, CI/CD pipeline starts)

Verifying Your Setup

After completing the setup, verify that everything is working correctly:

  1. Check the "Cluster Health" dashboard for:

    • Agent status (should be "Connected")
    • Node group status (should be "Active")
    • Optimization status (should be "Analyzing" initially)
  2. Review the "Initial Analysis" tab after 1-2 hours to see:

    • Current resource utilization
    • Identified optimization opportunities
    • Projected cost savings
  3. Test basic functionality by:

    • Deploying a simple test application
    • Monitoring its resource usage in the dashboard
    • Observing how the cluster responds to load changes

Next Steps

Now that your first cluster is set up, consider these next steps:

  1. Learn about up-scaling strategies to handle traffic spikes
  2. Understand how downscaling works to maximize savings
  3. Explore cluster defragmentation for workload consolidation
  4. Set up alerts and notifications for important cluster events

For any issues encountered during setup, refer to our troubleshooting guide or contact Stackbooster.io support.

Released under the MIT License. Contact us at [email protected]