How to onboard a cluster
Step-by-step guide on how to onboard your first cluster and start optimizing within a few minutes
PerfectScale is compatible and can be deployed in any Kubernetes environment, including EKS/EKS Anywhere, GKE, AKS, KOPS, private cloud, and other Kubernetes distributions.
Onboarding instructions
Log in to the PerfectScale app using the ingress URL obtained here.
Once logged in, navigate to the
Overview
tab.You can see a button to connect a new Kubernetes cluster. To connect a new cluster, click the
Add Cluster
button. A pop-up window with the following steps will appear.Onboard first cluster
Cluster configuration

In a popup window, click
Copy to Clipboard
and clone the helm chart provided on p.1.Enter a name for your cluster and select the desired Optimization Policy:
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
Click the
Generate Secret
button.
For security reasons, PerfectScale does not store your secret key.
Execute the command from
Deploy PerfectScale
.
Click on the
Finish and Close
button.
The newly added cluster will appear under the Clusters
list in the Overview
tab. Once the Agent Status
becomes green, the cluster data will appear, which indicates successful cluster creation.

💡 Discover additional information regarding the Overview.
Run PerfectScale exporter on specific nodes
PerfectScale allows running the exporter on particular nodes. To run the exporter on the specific nodes, use one of the following options:
nodeSelector
(in case there is no taint on the node).nodeSelector & toleration
(in case of taint on the node).
In case you are using zsh
shell, make sure to add noglob
before the helm command
helm upgrade --install -n perfectscale --create-namespace perfectscale \
--set secret.create=true \
--set secret.clientId=**** \
--set secret.clientSecret=**** \
--set settings.clusterName=name \
--set nodeSelector.type=monitoring \
--set tolerations[0].effect=NoSchedule,tolerations[0].key=monitoring,tolerations[0].operator=Exists \
--set kube-state-metrics.nodeSelector.type=monitoring \
--set kube-state-metrics.tolerations[0].effect=NoSchedule,kube-state-metrics.tolerations[0].key=monitoring,kube-state-metrics.tolerations[0].operator=Exists \
perfectscale/exporter
Mix of Windows and Linux nodes
If the cluster contains both Windows and Linux nodes, it is necessary to add the following extra nodeSelector
to run PerfectScale exporter on the Linux nodes:
--set nodeSelector.beta\\.kubernetes\\.io/os=linux --set kube-state-metrics.nodeSelector.beta\\.kubernetes\\.io/os=linux
For Step 4 in the Onboarding a cluster
scenario above, utilize the subsequent command to designate the Windows nodes:
helm upgrade --install -n perfectscale --create-namespace perfectscale \
--set secret.create=true \
--set secret.clientId=**** \
--set secret.clientSecret=**** \
--set settings.clusterName=name \
--set nodeSelector.beta\\.kubernetes\\.io/os=linux \
--set kube-state-metrics.nodeSelector.beta\\.kubernetes\\.io/os=linux \
perfect scale/exporter
Windows containers support
PerfectScale supports Windows-based containers, allowing you to optimize and manage them seamlessly. To enable this feature, as a Step 4 in a cluster configuration, execute the following command:
helm upgrade --install -n perfectscale --create-namespace perfectscale \
--set secret.create=true \
--set secret.clientId=**** \
--set secret.clientSecret=**** \
--set settings.clusterName=your-dev-cluster \
--set settings.deployWindowsExporter=true \
--set settings.windowsExporterEnabled=true \
--set settings.windowsExporterNamespace="perfectscale" \
--set settings.windowsExporterPort="9182" \
--set settings.windowsExporterLabelSelector="app.kubernetes.io/name=prometheus-windows-exporter"
perfectscale/exporter
Uninstalling PerfectScale Agent
To uninstall the PerfectScale Agent, execute the following command
helm -n perfectscale uninstall psc-exporter
Last updated
Was this helpful?