Simplified and Cost-Efficient GKE Node Management with NAP:
Secure your spot!
LogoLogo
PerfectScale.ioStart for FreeYour Account
  • Kubernetes Optimization
  • Getting started
    • How to onboard a cluster
    • Onboarding clusters programmatically
    • Onboarding with ArgoCD
    • Updating PerfectScale Agent resources
    • Re-onboarding a cluster
  • Enable automation
    • Automation setup instruction
    • Including a cluster, namespace or workload to the Automation
      • Configuring Automation for a cluster
      • Configuring Automation for a namespace
      • Configuring Automation for a workload
    • Excluding a namespace or workload from the Automation
    • Automation customization
    • Verifying Automation status
    • Exploring Automation KPIs
    • Self-healing mechanism for unschedulable pods
    • Disable automation
    • Troubleshooting
    • Automation with GitOps
  • Cloud billing integration
    • Connecting AWS CUR
    • Connecting Azure Cost Management
  • Clusters' metrics overview
  • Podfit | vertical pod right-sizing
    • Understanding 'At Risk' indicators
    • LimitRange and ResourceQuota
  • Infrafit | node right-sizing
  • Configure alerts
    • Alerts acknowledgement
  • Trends monitoring
  • Revisions history log
  • Product overview
    • How to monitor PerfectScale Agent
    • PerfectScale data collected
    • PerfectScale Autoscaler Objects' Events
    • Outbound Request Ports used by the Exporter and Autoscaler
    • PerfectScale Weekly Report
    • Product architecture
  • Customizations
    • Alerting
      • Resiliency alerts
      • Financial alerts
    • Pricing
      • Custom Pricing configuration
      • AWS CUR configuration
      • Azure Cost Management configuration
    • Ticketing & Bug Tracking
    • Communication & Messaging
      • Slack Integration
        • How to configure slack_token
        • How to configure routings
      • MS Teams Integration
        • How to configure teams_webhook
      • Datadog Alerts Integration
    • Label customizations
    • Grouping
    • Observability
    • Podfit labels
    • Optimization Policy customization
  • Administration
    • Cluster settings
    • User management
    • Roles and permissions
    • Subscription details
    • Help Center
  • PerfectScale trial
    • How to find your allocated vCPU?
  • PerfectScale Prometheus Exporter
  • Security
    • MFA
    • SSO
    • ps-agent RBAC Permissions
    • psc-autoscaler RBAC Permissions
    • ps-exporter via Proxy Configuration
  • Public API
  • Help PerfectScale to improve
  • Go to your account
Powered by GitBook
LogoLogo

© PerfectScale 2025

On this page
  1. Getting started

Onboarding clusters programmatically

Learn how to set up dynamic clusters provisioning with this step-by-step tutorial

PreviousHow to onboard a clusterNextOnboarding with ArgoCD

Last updated 2 months ago

PerfectScale enables the dynamic provisioning of clusters with ease, requiring only a few simple steps. Additionally, it supports mass provisioning, making it efficient for larger deployments. In this case, PerfectScale Helm needs to be included in the set of provisioned workloads of the cluster.

  1. To provision clusters dynamically, you need the clientId and clientSecret. Follow steps 1 - 4 of the instructions to get your clientId and clientSecret.

is a mandatory step. In this phase, you will be given the secrets (clientId and clientSecret) that can be reused to dynamically onboard clusters or efficiently provision multiple clusters for larger deployments.

If you have already installed the exporter and need to recall the clusterName, clientID, and clientSecret, you can retrieve them using the following commands accordingly:

kubectl -n perfectscale describe deployment perfectscale-exporter | grep CLUSTER_NAME

kubectl -n perfectscale get secret perfectscale-exporter-secret -o jsonpath="{.data.clientId}" | base64 --decode kubectl -n perfectscale get secret perfectscale-exporter-secret -o jsonpath="{.data.clientSecret}" | base64 --decode

  1. Set dynamic variables per the environment that will include the following values:

--set settings.clusterName= the name of your cluster. To prevent any confusion, it is recommended that unique values be utilized for the cluster name.

clusterNameis mandatory. PerfectScale Agent will not work if the cluster name is not provided.

--set settings.clusterOptimizationPolicy is an optional parameter that allows you to specify the desirable resilience level for the cluster. These are the available values:

  • MaxSavings - maximum cost savings, the best for non-production environments

  • Balanced (default) - optimally balances cost and resiliency

  • ExtraHeadroom - the best fit for latency-sensitive environments

  • MaxHeadroom - keeps the environment above the highest spikes

If the Optimization Policy is not set, PerfectScale will automatically assign the default value Balanced.

  1. Once the variables are identified, each cluster, provisioned with the PerfectScale Agent, will be automatically registered and transmit its data.

If you have deleted the exporter and want to reconnect the same cluster to PerfectScale, you can easily do so by using the same clusterName, clientID, and clientSecret.

Add PerfectScale Helm from the following .

Discover more about customizing the Optimization policy .

link
here
Onboarding a cluster
Onboarding the initial cluster via UI
Credentials
Credentials