Perforator Helm Chart
This guide provides instructions on how to deploy Perforator on a Kubernetes cluster via the Helm package manager.
Prerequisites
- Kubernetes cluster
- Helm 3+
- PostgreSQL database
- ClickHouse database
- S3 storage
Warning
Make sure you have necessary buckets in your S3 storage.
Note
For testing purposes, you can set up databases using docker compose.
Adding Helm Repository
helm repo add perforator https://perforator.tech/helm-charts
helm repo update
Installing Helm Chart
Create file my-values.yaml
and add credentials for databases
my-values.yaml example
databases:
postgresql:
endpoints:
- host: "<host>"
port: <port>
db: "<db>"
user: "<user>"
password: "<password>"
clickhouse:
replicas:
- "<host>:<port>"
db: "<db>"
user: "<user>"
password: "<password>"
s3:
buckets:
# If buckets were created with recommended names
profiles: "perforator-profile"
binaries: "perforator-binary"
taskResults: "perforator-task-results"
binariesGSYM: "perforator-binary-gsym"
endpoint: "<host>:<port>"
accessKey: "<accessKey>"
secretKey: "<secretKey>"
Note
Alternatively, you can use existing kubernetes secrets.
databases:
secretName: "<kubernetes secret>"
secretKey: "<key>"
clickhouse:
secretName: "<kubernetes secret>"
secretKey: "<key>"
s3:
secretName: "<kubernetes secret>"
Use created values to install chart:
helm install perforator-release -n perforator perforator/perforator -f my-values.yaml
Connecting to Perforator UI
To access the Perforator UI, configure port forwarding to the local machine:
kubectl port-forward svc/perforator-release-perforator-web-service -n perforator 8080:80
Then open http://localhost:8080
in your browser
Uninstalling Helm Chart
helm uninstall perforator-release -n perforator
Upgrading Helm Chart
helm upgrade perforator-release -n perforator perforator/perforator -f my-values.yaml