Skip to content

Commit

Permalink
[perforator][docs] add tutorial for deploying perforator in Kubernetes
Browse files Browse the repository at this point in the history
commit_hash:1d24d3fdcea67316ea030f65c29f77247bbdb2e4
  • Loading branch information
tangyatsu committed Feb 18, 2025
1 parent 7f7e034 commit e1d5d9b
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 0 deletions.
1 change: 1 addition & 0 deletions .mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
"docs/en/reference/querylang.md":"perforator/docs/opensource/en/reference/querylang.md",
"docs/en/reference/system-requirements.md":"perforator/docs/opensource/en/reference/system-requirements.md",
"docs/en/toc.yaml":"perforator/docs/opensource/en/toc.yaml",
"docs/en/tutorials/helm-chart.md":"perforator/docs/opensource/en/tutorials/helm-chart.md",
"docs/en/tutorials/native-profiling.md":"perforator/docs/opensource/en/tutorials/native-profiling.md",
"docs/en/tutorials/python-profiling.md":"perforator/docs/opensource/en/tutorials/python-profiling.md",
"docs/en/tutorials/ui.md":"perforator/docs/opensource/en/tutorials/ui.md",
Expand Down
2 changes: 2 additions & 0 deletions docs/en/toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ items:
href: tutorials/native-profiling.md
- name: Optimizing Python applications
href: tutorials/python-profiling.md
- name: Setup Perforator test deployment in Kubernetes via Helm
href: tutorials/helm-chart.md
- name: Building your first profile with UI
href: tutorials/ui.md
- name: Explanation
Expand Down
81 changes: 81 additions & 0 deletions docs/en/tutorials/helm-chart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Perforator Helm Chart
In this tutorial we will deploy Perforator on a Kubernetes cluster via the Helm package manager without additional database setup.

{% note warning %}

This setup is intended solely for demonstration.
There is no guarantee for compatibility with older versions of the chart.
Please do not use it in production environments.

{% endnote %}

## Prerequisites

- Kubernetes cluster
- Helm 3+

## Adding Helm Repository

```
helm repo add perforator https://helm.perforator.tech
helm repo update
```

## Installing Helm Chart

Create file `my-values.yaml` with values:

my-values.yaml example
```yaml
databases:
postgresql:
migrations:
enabled: true
db: "perforator"
user: "perforator"
password: "perforator"
clickhouse:
migrations:
enabled: true
insecure: true
db: "perforator"
user: "perforator"
password: "perforator"
s3:
buckets:
profiles: "perforator-profile"
binaries: "perforator-binary"
taskResults: "perforator-task-results"
binariesGSYM: "perforator-binary-gsym"
insecure: true
force_path_style: true
accessKey: "perforator"
secretKey: "perforator"

proxy:
url_prefix: "http://localhost:8080/static/results/"

testing:
enableTestingDatabases: true
```
Use created values to install chart:
```console
helm install perforator-release -n perforator perforator/perforator -f my-values.yaml --create-namespace
```

## Connecting to Perforator UI

To access the Perforator UI, configure port forwarding to the local machine:

```console
kubectl port-forward svc/perforator-release-perforator-web-service -n perforator 8080:80
```
Then open `http://localhost:8080` in your browser

## Uninstalling Helm Chart

```console
helm uninstall perforator-release -n perforator
```

0 comments on commit e1d5d9b

Please sign in to comment.