Skip to content

Commit

Permalink
Update Docker and Kubernetes sections
Browse files Browse the repository at this point in the history
  • Loading branch information
dominikriemer committed Jul 19, 2023
1 parent d7ecb6c commit 9e61f16
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 92 deletions.
21 changes: 13 additions & 8 deletions docs/05_deploy-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,16 @@ Tested on: **macOS, Linux, Windows 10** (CMD, PowerShell, GitBash)
> **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
## Usage
We provide two options to get you going:
We provide several options to get you going:

- **default**: a light-weight option with few pipeline elements, needs less memory
- **full**: contains more pipeline elements, requires **>16 GB RAM** (recommended)
- **default**: Default docker-compose file, called `docker-compose.yml`.

:::info

Other options include configurations for the internally used message broker. The current default is `Kafka`, but you can also start StreamPipes with `Nats`, `MQTT` or `Apache Pulsar`.
Use one of the other provided docker-compose files.

:::

**Starting** the **default** option is as easy as simply running:
> **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
Expand All @@ -49,22 +55,21 @@ docker-compose down
# docker-compose down -v
```

Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
Starting the **nats** option is almost the same, just specify the `docker-compose.nats.yml` file:
```bash
docker-compose -f docker-compose.full.yml up -d
docker-compose -f docker-compose.nats.yml up -d
# go to after all services are started http://localhost
```
Stopping the **full** option:
```bash
docker-compose -f docker-compose.full.yml down
#docker-compose -f docker-compose.full.yml down -v
docker-compose -f docker-compose.nats.yml down
#docker-compose -f docker-compose.nats.yml down -v
```

## Update services
To actively pull the latest available Docker images use:
```bash
docker-compose pull
# docker-compose -f docker-compose.full.yml pull
```

## Upgrade
Expand Down
51 changes: 13 additions & 38 deletions docs/05_deploy-kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,56 +5,31 @@ sidebar_label: Kubernetes Deployment
---

## Prerequisites
Requires Helm (https://helm.sh/) and an active connection to a kubernetes cluster with a running tiller server.

Tested with:
* K3s v1.18.8+k3s1 (6b595318) with K8s v1.18.8
* Helm v3.1.2
Requires Helm (https://helm.sh/) and an actively running Kubernetes cluster.

## Usage
We provide two helm chart options to get you going:

- **default**: a light-weight option with few pipeline elements, needs less memory
- **full**: contains more pipeline elements, requires **>16 GB RAM** (recommended)
We provide helm chart options to get you going in the `installer/k8s`folder.

**Starting** the **default** helm chart option is as easy as simply running the following command from the root of this folder:
**Starting** the default helm chart option is as easy as simply running the following command from the root of this folder:
> **NOTE**: Starting might take a while since we also initially pull all Docker images from Dockerhub.
```bash
helm install streampipes ./
```
After a while, all containers should successfully started, indicated by the `Running` status.
```bash
kubectl get pods
NAME READY STATUS RESTARTS AGE
activemq-66d58f47cf-2r2nb 1/1 Running 0 3m27s
backend-76ddc486c8-nswpc 1/1 Running 0 3m27s
connect-master-7b477f9b79-8dfvr 1/1 Running 0 3m26s
connect-worker-78d89c989c-9v8zs 1/1 Running 0 3m27s
consul-55965f966b-gwb7l 1/1 Running 0 3m27s
couchdb-77db98cf7b-xnnvb 1/1 Running 0 3m27s
influxdb-b95b6479-r8wh8 1/1 Running 0 3m27s
kafka-657b5fb77-dp2d6 1/1 Running 0 3m27s
pipeline-elements-all-jvm-79c445dbd9-m8xcs 1/1 Running 0 3m27s
sources-watertank-simulator-6c6b8844f6-6b4d7 1/1 Running 0 3m27s
ui-b94bd9766-rm6zb 2/2 Running 0 3m27s
zookeeper-5d9947686f-6nzgs 1/1 Running 0 3m26s
```

After all containers are successfully started just got to your browser and visit any of the k8s cluster nodes on
`http://<NODE_IP>` to finish the installation.
The `values.yaml` file contains several configuration options to customize your StreamPipes installation. See the file for all configuration options.

> **NOTE**: If you're running Docker for Mac or Docker for Windows with a local k8s cluster, the above step to use your host IP might not work. Luckily, you can port-forward a service port to your localhost using the following command to be able to access the UI either via `http://localhost` or `http://<HOST_IP>` (you require sudo to run this command in order to bind to a privileged port).
```bash
kubectl port-forward svc/ui --address=0.0.0.0 80:80
```
## Ingress

The helm chart provides several options to configure an Ingress or to define an Ingressroute that directly integrates with Traefik.

## Dynamic Volume Provisioning

You can override the `storageClassName` variable to configure StreamPipes for dynamic volume provisioning.

Starting the **full** helm chart option is almost the same:
```bash
helm install streampipes ./ --set deployment=full
```

**Deleting** the current helm chart deployment:
## Deleting the current helm chart deployment:
```bash
helm del streampipes
helm uninstall streampipes
```
21 changes: 13 additions & 8 deletions website-v2/versioned_docs/version-0.92.0/05_deploy-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,16 @@ Tested on: **macOS, Linux, Windows 10** (CMD, PowerShell, GitBash)
> **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
## Usage
We provide two options to get you going:
We provide several options to get you going:

- **default**: a light-weight option with few pipeline elements, needs less memory
- **full**: contains more pipeline elements, requires **>16 GB RAM** (recommended)
- **default**: Default docker-compose file, called `docker-compose.yml`.

:::info

Other options include configurations for the internally used message broker. The current default is `Kafka`, but you can also start StreamPipes with `Nats`, `MQTT` or `Apache Pulsar`.
Use one of the other provided docker-compose files.

:::

**Starting** the **default** option is as easy as simply running:
> **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
Expand All @@ -49,22 +55,21 @@ docker-compose down
# docker-compose down -v
```

Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
Starting the **nats** option is almost the same, just specify the `docker-compose.nats.yml` file:
```bash
docker-compose -f docker-compose.full.yml up -d
docker-compose -f docker-compose.nats.yml up -d
# go to after all services are started http://localhost
```
Stopping the **full** option:
```bash
docker-compose -f docker-compose.full.yml down
#docker-compose -f docker-compose.full.yml down -v
docker-compose -f docker-compose.nats.yml down
#docker-compose -f docker-compose.nats.yml down -v
```

## Update services
To actively pull the latest available Docker images use:
```bash
docker-compose pull
# docker-compose -f docker-compose.full.yml pull
```

## Upgrade
Expand Down
51 changes: 13 additions & 38 deletions website-v2/versioned_docs/version-0.92.0/05_deploy-kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,56 +5,31 @@ sidebar_label: Kubernetes Deployment
---

## Prerequisites
Requires Helm (https://helm.sh/) and an active connection to a kubernetes cluster with a running tiller server.

Tested with:
* K3s v1.18.8+k3s1 (6b595318) with K8s v1.18.8
* Helm v3.1.2
Requires Helm (https://helm.sh/) and an actively running Kubernetes cluster.

## Usage
We provide two helm chart options to get you going:

- **default**: a light-weight option with few pipeline elements, needs less memory
- **full**: contains more pipeline elements, requires **>16 GB RAM** (recommended)
We provide helm chart options to get you going in the `installer/k8s`folder.

**Starting** the **default** helm chart option is as easy as simply running the following command from the root of this folder:
**Starting** the default helm chart option is as easy as simply running the following command from the root of this folder:
> **NOTE**: Starting might take a while since we also initially pull all Docker images from Dockerhub.
```bash
helm install streampipes ./
```
After a while, all containers should successfully started, indicated by the `Running` status.
```bash
kubectl get pods
NAME READY STATUS RESTARTS AGE
activemq-66d58f47cf-2r2nb 1/1 Running 0 3m27s
backend-76ddc486c8-nswpc 1/1 Running 0 3m27s
connect-master-7b477f9b79-8dfvr 1/1 Running 0 3m26s
connect-worker-78d89c989c-9v8zs 1/1 Running 0 3m27s
consul-55965f966b-gwb7l 1/1 Running 0 3m27s
couchdb-77db98cf7b-xnnvb 1/1 Running 0 3m27s
influxdb-b95b6479-r8wh8 1/1 Running 0 3m27s
kafka-657b5fb77-dp2d6 1/1 Running 0 3m27s
pipeline-elements-all-jvm-79c445dbd9-m8xcs 1/1 Running 0 3m27s
sources-watertank-simulator-6c6b8844f6-6b4d7 1/1 Running 0 3m27s
ui-b94bd9766-rm6zb 2/2 Running 0 3m27s
zookeeper-5d9947686f-6nzgs 1/1 Running 0 3m26s
```

After all containers are successfully started just got to your browser and visit any of the k8s cluster nodes on
`http://<NODE_IP>` to finish the installation.
The `values.yaml` file contains several configuration options to customize your StreamPipes installation. See the file for all configuration options.

> **NOTE**: If you're running Docker for Mac or Docker for Windows with a local k8s cluster, the above step to use your host IP might not work. Luckily, you can port-forward a service port to your localhost using the following command to be able to access the UI either via `http://localhost` or `http://<HOST_IP>` (you require sudo to run this command in order to bind to a privileged port).
```bash
kubectl port-forward svc/ui --address=0.0.0.0 80:80
```
## Ingress

The helm chart provides several options to configure an Ingress or to define an Ingressroute that directly integrates with Traefik.

## Dynamic Volume Provisioning

You can override the `storageClassName` variable to configure StreamPipes for dynamic volume provisioning.

Starting the **full** helm chart option is almost the same:
```bash
helm install streampipes ./ --set deployment=full
```

**Deleting** the current helm chart deployment:
## Deleting the current helm chart deployment:
```bash
helm del streampipes
helm uninstall streampipes
```

0 comments on commit 9e61f16

Please sign in to comment.