-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(commercial): Add new docs for commercial vs core (#3203)
* docs(cloud): initial setup * docs(cloud): overhauled cloud vs core onboarding * docs(commercial): updated docker and k8s install * Update docs/docs/core/deployment/docker.md Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/getting-started/open.mdx Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/core/deployment/kubernetes.mdx Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/getting-started/open.mdx Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/getting-started/open.mdx Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/getting-started/open.mdx Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/getting-started/open.mdx Co-authored-by: Julianne Fermi <[email protected]> * Update docs/docs/getting-started/open.mdx Co-authored-by: Julianne Fermi <[email protected]> * docs(cloud): typos and fixes --------- Co-authored-by: Julianne Fermi <[email protected]>
- Loading branch information
Showing
26 changed files
with
1,075 additions
and
628 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,300 @@ | ||
--- | ||
id: installation | ||
title: Installing Tracetest Core | ||
description: Tracetest allows you to quickly build integration and end-to-end tests, powered by your OpenTelemetry traces. | ||
keywords: | ||
- tracetest | ||
- trace-based testing | ||
- observability | ||
- distributed tracing | ||
- testing | ||
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1689693872/docs/Blog_Thumbnail_28_ugy2yy.png | ||
--- | ||
|
||
import Tabs from '@theme/Tabs'; | ||
import TabItem from '@theme/TabItem'; | ||
import CodeBlock from '@theme/CodeBlock'; | ||
import GtagInstallCliTabs from '@site/src/components/GtagInstallCliTabs'; | ||
|
||
This page showcases getting started with Tracetest Core by using the Tracetest CLI, Docker, or Kubernetes. | ||
|
||
This simple installation includes a demo app called [Pokeshop](/live-examples/pokeshop/overview.md) that will be installed alongside Tracetest Core. It shows how to configure OpenTelemetry and Tracetest Core and the architecture of the Pokeshop sample app. | ||
|
||
## Install the Tracetest CLI | ||
|
||
<GtagInstallCliTabs></GtagInstallCliTabs> | ||
|
||
:::tip Want more info? | ||
Read the CLI installation reference [here](/cli/cli-installation-reference.md). | ||
::: | ||
|
||
## Install the Tracetest Server | ||
|
||
Tracetest Core runs as a standalone container. It runs a Server and exposes a Web UI on port `11633`. | ||
|
||
You have three options to install Tracetest Server: | ||
|
||
- Using the Tracetest CLI to guide your installation in Docker and Kubernetes. | ||
- Using the official [Helm chart](https://github.com/kubeshop/helm-charts/tree/main/charts/tracetest). | ||
- Using the [Docker Compose Quick Start with the Pokeshop Sample App](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-pokeshop). | ||
|
||
<Tabs groupId="installation"> | ||
<TabItem value="cli" label="Tracetest CLI" default> | ||
|
||
```bash title="Terminal" | ||
tracetest server install | ||
``` | ||
|
||
<Tabs groupId="container-orchestrators"> | ||
<TabItem value="docker-compose" label="Docker Compose" default> | ||
<CodeBlock | ||
language="text" | ||
title="Terminal" | ||
> | ||
{`How do you want to run Tracetest? [type to search]: | ||
> Using Docker Compose | ||
Using Kubernetes`} | ||
</CodeBlock> | ||
|
||
Choose to install Tracetest with the OpenTelemetry Collector and the [Pokeshop](/live-examples/pokeshop/overview.md) sample app. | ||
|
||
```text title="Expected output:" | ||
Do you have OpenTelemetry based tracing already set up, or would you like us to install a demo tracing environment and app? [type to search]: | ||
I have a tracing environment already. - Just install Tracetest. | ||
> Just learning tracing! Install Tracetest, OpenTelemetry Collector and the sample app. | ||
``` | ||
|
||
Choosing any option, this installer will create a `tracetest` directory in the current directory and add a `docker-compose.yaml` file to it. | ||
|
||
- If you choose the first option, the `docker-compose.yaml` will have only Tracetest Core and its dependencies. | ||
- **By choosing the second option, a sample app called [Pokeshop](/live-examples/pokeshop/overview.md) will be installed with Tracetest Core, allowing you to create sample tests right away!** | ||
|
||
<details> | ||
<summary> | ||
<b>Click to view Pokeshop Sample App Architecture</b> | ||
</summary> | ||
|
||
Here's the Architecture of the Pokeshop Sample App: | ||
|
||
- an **API** that serves client requests, | ||
- a **Worker** who deals with background processes. | ||
|
||
The communication between the API and Worker is made using a `RabbitMQ` queue, and both services emit telemetry data to OpenTelemetry Collector and communicate with a Postgres database. | ||
|
||
Tracetest triggers tests against the Node.js API. | ||
|
||
```mermaid | ||
flowchart TD | ||
A[(Redis)] | ||
B[(Postgres)] | ||
C(Node.js API) | ||
D(RabbitMQ) | ||
E(Worker) | ||
F(OpenTelemetry Collector) | ||
G(Tracetest) | ||
G --> C | ||
F --> G | ||
C --> A | ||
C --> B | ||
C --> D | ||
D --> E | ||
E --> B | ||
C --> F | ||
E --> F | ||
``` | ||
</details> | ||
|
||
**Start Docker Compose from the directory where you ran `tracetest server install`.** | ||
|
||
<CodeBlock | ||
language="bash" | ||
title="Terminal" | ||
> | ||
{`docker compose -f tracetest/docker-compose.yaml up -d`} | ||
</CodeBlock> | ||
|
||
This will start the Tracetest Server and expose the Web UI on [`http://localhost:11633`](http://localhost:11633). | ||
|
||
</TabItem> | ||
<TabItem value="kubernetes" label="Kubernetes"> | ||
<CodeBlock | ||
language="text" | ||
title="Terminal" | ||
> | ||
{`How do you want to run TraceTest? [type to search]: | ||
Using Docker Compose | ||
> Using Kubernetes`} | ||
</CodeBlock> | ||
|
||
Choose to install Tracetest Core with the OpenTelemetry Collector and the [Pokeshop](/live-examples/pokeshop/overview.md) sample app. | ||
|
||
```text title="Expected output:" | ||
Do you have OpenTelemetry based tracing already set up, or would you like us to install a demo tracing environment and app? [type to search]: | ||
I have a tracing environment already - Just install Tracetest. | ||
> Just learning tracing! Install Tracetest, OpenTelemetry Collector and the sample app. | ||
``` | ||
|
||
Choosing any option, this installer will create a `tracetest` namespace in the Kubernetes context you choose and create deployments for Tracetest Core and its dependencies. | ||
|
||
- If you choose the first option, the `tracetest` namespace will only contain Tracetest Core and its dependencies. | ||
- **By choosing the second option, a sample app called [Pokeshop](/live-examples/pokeshop/overview.md) will be installed in a `demo` namespace alongside Tracetest Core, allowing you to create sample tests right away!** | ||
|
||
<details> | ||
<summary> | ||
<b>Click to view Pokeshop Sample App Architecture</b> | ||
</summary> | ||
|
||
Here's the Architecture of the Pokeshop Sample App: | ||
|
||
- an **API** that serves client requests, | ||
- a **Worker** who deals with background processes. | ||
|
||
The communication between the API and Worker is made using a `RabbitMQ` queue, and both services emit telemetry data to OpenTelemetry Collector and communicate with a Postgres database. | ||
|
||
Tracetest triggers tests against the Node.js API. | ||
|
||
```mermaid | ||
flowchart TD | ||
A[(Redis)] | ||
B[(Postgres)] | ||
C(Node.js API) | ||
D(RabbitMQ) | ||
E(Worker) | ||
F(OpenTelemetry Collector) | ||
G(Tracetest) | ||
G --> C | ||
F --> G | ||
C --> A | ||
C --> B | ||
C --> D | ||
D --> E | ||
E --> B | ||
C --> F | ||
E --> F | ||
``` | ||
</details> | ||
|
||
**Access the Tracetest Server by port forwarding to the Tracetest `service`.** | ||
|
||
```bash title=Terminal | ||
export POD_NAME=$(kubectl get pods --namespace demo -l "app.kubernetes.io/name=pokemon-api,app.kubernetes.io/instance=demo" -o jsonpath="{.items[0].metadata.name}") | ||
export CONTAINER_PORT=$(kubectl get pod --namespace demo $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") | ||
kubectl --namespace demo port-forward $POD_NAME 8080:$CONTAINER_PORT | ||
echo "Open http://127.0.0.1:8080 to view the Pokeshop demo app" | ||
|
||
kubectl --kubeconfig <path-to-your-home>/.kube/config --context <your-cluster-context> --namespace tracetest port-forward svc/tracetest 11633 | ||
echo "Open http://127.0.0.1:11633 to view the Tracetest Web UI" | ||
``` | ||
|
||
Access the Tracetest Web UI on [`http://localhost:11633`](http://localhost:11633). | ||
|
||
</TabItem> | ||
</Tabs> | ||
|
||
</TabItem> | ||
<TabItem value="helm" label="Helm Chart"> | ||
|
||
First, be sure that you have [Helm](https://helm.sh/) installed in your machine. | ||
|
||
The Tracetest Helm charts are located [here](https://github.com/kubeshop/helm-charts/tree/main/charts/tracetest). | ||
|
||
You can install them locally on your machine with the command: | ||
|
||
```bash title=Terminal | ||
helm repo add kubeshop https://kubeshop.github.io/helm-charts | ||
helm repo update | ||
``` | ||
|
||
After that, you can install Tracetest with `helm install`: | ||
|
||
```bash title=Terminal | ||
helm install tracetest kubeshop/tracetest --namespace=tracetest --create-namespace | ||
``` | ||
|
||
Or, generate a manifest file and apply it manually in your Kubernetes cluster: | ||
|
||
```bash title=Terminal | ||
helm template tracetest kubeshop/tracetest > tracetest-kubernetes-manifests.yaml | ||
kubectl apply -f ./tracetest-kubernetes-manifests.yaml | ||
``` | ||
|
||
**Access the Tracetest Server by port forwarding to the Tracetest `service`.** | ||
|
||
```bash title=Terminal | ||
kubectl --kubeconfig <path-to-your-home>/.kube/config --context <your-cluster-context> --namespace tracetest port-forward svc/tracetest 11633 | ||
``` | ||
|
||
Access the Tracetest Web UI on [`http://localhost:11633`](http://localhost:11633). | ||
|
||
</TabItem> | ||
<TabItem value="docker-compose" label="Docker Compose"> | ||
|
||
First, be sure that you have [Docker](https://docker.com/) installed in your machine. | ||
|
||
The Quick Start with the Pokeshop Sample App is located [here](https://github.com/kubeshop/tracetest/tree/main/examples/quick-start-pokeshop). | ||
|
||
**The [`docker-compose.yaml`](https://github.com/kubeshop/tracetest/blob/main/examples/quick-start-pokeshop/docker-compose.yml) contains Tracetest Core, the OpenTelemetry Collector, and a sample app called [Pokeshop](/live-examples/pokeshop/overview.md). This allows you to create sample tests right away!** | ||
|
||
<details> | ||
<summary> | ||
<b>Click to view Pokeshop Sample App Architecture</b> | ||
</summary> | ||
|
||
Here's the Architecture of the Pokeshop Sample App: | ||
|
||
- an **API** that serves client requests, | ||
- a **Worker** who deals with background processes. | ||
|
||
The communication between the API and Worker is made using a `RabbitMQ` queue, and both services emit telemetry data to OpenTelemetry Collector and communicate with a Postgres database. | ||
|
||
Tracetest triggers tests against the Node.js API. | ||
|
||
```mermaid | ||
flowchart TD | ||
A[(Redis)] | ||
B[(Postgres)] | ||
C(Node.js API) | ||
D(RabbitMQ) | ||
E(Worker) | ||
F(OpenTelemetry Collector) | ||
G(Tracetest) | ||
G --> C | ||
F --> G | ||
C --> A | ||
C --> B | ||
C --> D | ||
D --> E | ||
E --> B | ||
C --> F | ||
E --> F | ||
``` | ||
</details> | ||
|
||
**Start Docker Compose.** | ||
|
||
<CodeBlock | ||
language="bash" | ||
title="Terminal" | ||
> | ||
{`docker compose -f docker-compose.yaml up -d`} | ||
</CodeBlock> | ||
|
||
This will start the Tracetest Server and expose the Web UI on [`http://localhost:11633`](http://localhost:11633). | ||
|
||
</TabItem> | ||
</Tabs> | ||
|
||
:::tip Don't have OpenTelemetry installed? | ||
Tracetest requires that you have [OpenTelemetry instrumentation](https://opentelemetry.io/docs/instrumentation/) added in your code, and configured [sending traces to a trace data store](/configuration/connecting-to-data-stores/jaeger.md), or [Tracetest directly](/configuration/connecting-to-data-stores/opentelemetry-collector.md). | ||
|
||
[Follow these instructions to install OpenTelemetry in 5 minutes without any code changes!](/getting-started/no-otel.mdx) | ||
::: |
Oops, something went wrong.