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
  • Installing exporter with ArgoCD
  • WEB UI
  • CRD
  1. Getting started

Onboarding with ArgoCD

Learn how to install PerfectScale exporter with ArgoCD with this comprehensive guide

PreviousOnboarding clusters programmaticallyNextUpdating PerfectScale Agent resources

Last updated 1 month ago

Installing exporter with ArgoCD

To install the exporter with ArgoCD, use the following instructions.

  1. Complete 1-5 steps from .

  2. Make sure to save the clientId and clientSecret, as we will require it later on.

  3. Download the most recent Helm chart that is used for ArgoCD to your repository (for this guide, we'll be utilizing git@github.com:perfectscale/ps-kube.git).

helm fetch perfectscale/exporter
tar -xf exporter-*.tgz && rm exporter-*.tgz
  1. Create an additional (for example, dev.yaml value) file with the following content

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

cat > exporter/dev.yaml <<EOF
secret:
  create: true
  name: "perfectscale-secret"
  clientSecret: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
  clientId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
settings:
  clusterName: "xxx"
EOF

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. Push all the modifications to your git repository, which is accessible by ArgoCD.

WEB UI

  1. Login to the ArgoCD Web UI interface and click the NEW APP button.

  2. Once the creation process is completed, you will see the OutOFSync application.

  3. Synchronize the application.

  4. Ensure that all pods are running.

CRD

  1. Create a Custom Resource Definition file for the ArgoCD.

cat > perfectscale.yaml <<EOF
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  labels:
    argocd.argoproj.io/instance: argocd-applications
  name: perfectscale-crd
spec:
  destination:
    namespace: perfectscale
    server: https://kubernetes.default.svc
  project: default
  source:
    helm:
      valueFiles:
      - values.yaml
      - dev.yaml
    path: exporter
    repoURL: git@github.com:perfectscale/ps-kube.git
    targetRevision: HEAD
  syncPolicy:
    syncOptions:
    - CreateNamespace=true
EOF
  1. Apply the following command in the cluster application.

kubectl apply -f  perfectscale.yaml -n argo-cd
  1. Check a new application in the ArgoCD.

  2. Synchronize the application.

  3. Ensure that all pods are running.

Replace clientSecret and clientId with copied before.

There are two methods to add an application to ArgoCD: or . You can select the approach that best suits your infrastructure.

Replace the namespace for argo-cd with the one where you have stored all of your applications.

💡
💡
using the WEB UI
creating a YAML CRD file
Onboarding a cluster
Credentials
New app ArgoCD
New app form1
New app form2
New app form3
New app form4
OutOFSync application
Application synchronization
Synchronized application
Check running pods1
New application in ArgoCD
Sync the application
Check running pods2
Credentials
New app ArgoCD
New app form1
New app form2
New app form3
New app form4
OutOFSync application
Application synchronization
Synchronized application
Check running pods1
New application in ArgoCD
Sync the application
Check running pods2