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 use this tutorial to set up a Perforator deployment with all databases inside your Kubernetes cluster
Adding Helm Repository
helm repo add perforator https://helm.perforator.tech
helm repo update
Installing Helm Chart
Create file my-values.yaml
and add necessary values:
my-values.yaml example
databases:
postgresql:
migrations:
enabled: true # Creates necessary migrations in your PostgreSQL database.
endpoints:
- host: "<host>"
port: <port>
db: "<db>"
user: "<user>"
password: "<password>"
clickhouse:
migrations:
enabled: true # Creates necessary migrations in your Clickhouse database.
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>"
proxy:
url_prefix: https://<address>/static/results/
Warning
Suggested proxy.url_prefix
value is based on the following assumptions:
- Your installation includes
web
component (i.e. you do not explicitly setweb.enabled
to false) <address>
is a DNS name or IP address pointing toweb
- TLS is enabled (use
http://
otherwise)
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
Was the article helpful?
Previous