Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions src/content/docs/docs/installation/aws-microservices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ sidebar:
description: "Deploy ThingsBoard CE in microservices mode on AWS EKS with managed PostgreSQL, MSK, and ElastiCache."
---
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Aside, Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/aws/microservices`;
export const cloneCmd = k8sCloneCmd('ce', 'aws/microservices');

This guide walks you through deploying ThingsBoard CE in microservices mode on AWS EKS. We use Amazon RDS for managed PostgreSQL, Amazon MSK for managed Kafka, and Amazon ElastiCache for managed Redis.

Expand Down
30 changes: 14 additions & 16 deletions src/content/docs/docs/installation/aws-monolith.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ sidebar:
description: "Deploy ThingsBoard CE in monolith mode on AWS EKS with managed PostgreSQL."
---
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Aside, Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/aws/monolith`;
export const cloneCmd = k8sCloneCmd('ce', 'aws/monolith');

This guide walks you through deploying ThingsBoard CE in monolith mode on AWS EKS. We use Amazon RDS for managed PostgreSQL.

Expand All @@ -38,11 +36,11 @@ aws configure

In the `cluster.yml` file you can find the suggested cluster configuration. Key fields you can change:

| Field | Default | Description |
|---|---|---|
| `region` | `us-east-1` | AWS region for the cluster |
| `availabilityZones` | `[us-east-1a, us-east-1b, us-east-1c]` | Region availability zones |
| `instanceType` | `m5.xlarge` | EC2 instance type for nodes |
| Field | Default | Description |
|---------------------|----------------------------------------|-----------------------------|
| `region` | `us-east-1` | AWS region for the cluster |
| `availabilityZones` | `[us-east-1a, us-east-1b, us-east-1c]` | Region availability zones |
| `instanceType` | `m5.xlarge` | EC2 instance type for nodes |

<Aside type="note">
If you don't change `instanceType` and `desiredCapacity`, EKS will deploy **1** node of type **m5.xlarge**.
Expand All @@ -64,12 +62,12 @@ Once the cluster is ready, create the AWS load-balancer controller by following

The cluster provisioning scripts create several load balancers:

| Load Balancer | Type | Purpose |
|---|---|---|
| `tb-http-loadbalancer` | ALB | Web UI, REST API, HTTP transport |
| `tb-mqtt-loadbalancer` | NLB | MQTT transport |
| `tb-coap-loadbalancer` | NLB | CoAP transport |
| `tb-edge-loadbalancer` | NLB | Edge instances connectivity |
| Load Balancer | Type | Purpose |
|------------------------|------|----------------------------------|
| `tb-http-loadbalancer` | ALB | Web UI, REST API, HTTP transport |
| `tb-mqtt-loadbalancer` | NLB | MQTT transport |
| `tb-coap-loadbalancer` | NLB | CoAP transport |
| `tb-edge-loadbalancer` | NLB | Edge instances connectivity |

<Aside type="caution">
Provisioning the AWS load-balancer <a href="https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html" target="_blank">controller</a> is a **critical step** required for the load balancers to work properly.
Expand Down
24 changes: 11 additions & 13 deletions src/content/docs/docs/installation/azure-microservices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ sidebar:
description: "Deploy ThingsBoard CE in microservices mode on Azure Kubernetes Service with Azure Database for PostgreSQL."
---
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Aside, Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/azure/microservices`;
export const cloneCmd = k8sCloneCmd('ce', 'azure/microservices');

This guide walks you through deploying ThingsBoard CE in microservices mode on <a href="https://azure.microsoft.com/en-us/products/kubernetes-service" target="_blank">Azure Kubernetes Service (AKS)</a>. We use Azure Database for PostgreSQL as the managed database.

Expand Down Expand Up @@ -44,14 +42,14 @@ export TB_REDIS_NAME=tb-redis
echo "Resource group: $AKS_RESOURCE_GROUP, location: $AKS_LOCATION, cluster: $TB_CLUSTER_NAME, database: $TB_DATABASE_NAME"
```

| Variable | Default | Description |
|---|---|---|
| `AKS_RESOURCE_GROUP` | `ThingsBoardResources` | Azure Resource Group name |
| `AKS_LOCATION` | `eastus` | Azure region. Run `az account list-locations` for options |
| `AKS_GATEWAY` | `tb-gateway` | Azure Application Gateway name |
| `TB_CLUSTER_NAME` | `tb-cluster` | AKS cluster name |
| `TB_DATABASE_NAME` | `tb-db` | PostgreSQL server name |
| `TB_REDIS_NAME` | `tb-redis` | Valkey/Redis cache name |
| Variable | Default | Description |
|----------------------|------------------------|-----------------------------------------------------------|
| `AKS_RESOURCE_GROUP` | `ThingsBoardResources` | Azure Resource Group name |
| `AKS_LOCATION` | `eastus` | Azure region. Run `az account list-locations` for options |
| `AKS_GATEWAY` | `tb-gateway` | Azure Application Gateway name |
| `TB_CLUSTER_NAME` | `tb-cluster` | AKS cluster name |
| `TB_DATABASE_NAME` | `tb-db` | PostgreSQL server name |
| `TB_REDIS_NAME` | `tb-redis` | Valkey/Redis cache name |

## Step 3. Configure and create AKS cluster

Expand Down
5 changes: 2 additions & 3 deletions src/content/docs/docs/installation/azure-monolith.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/azure/monolith`;
export const cloneCmd = k8sCloneCmd('ce', 'azure/monolith');

This guide walks you through deploying ThingsBoard CE in monolith mode on <a href="https://azure.microsoft.com/en-us/products/kubernetes-service" target="_blank">Azure Kubernetes Service (AKS)</a>. We use Azure Database for PostgreSQL as the managed database.

Expand Down
5 changes: 2 additions & 3 deletions src/content/docs/docs/installation/gcp-microservices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Products } from '~/models/site.models';
import { CE_BRANCH } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/gcp/microservices`;
export const cloneCmd = k8sCloneCmd('ce', 'gcp/microservices');

This guide walks you through deploying ThingsBoard CE in microservices mode on <a href="https://cloud.google.com/kubernetes-engine" target="_blank">Google Kubernetes Engine</a>. We use Google Cloud SQL for managed PostgreSQL.

Expand Down
5 changes: 2 additions & 3 deletions src/content/docs/docs/installation/gcp-monolith.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Products } from '~/models/site.models';
import { CE_BRANCH } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/gcp/monolith`;
export const cloneCmd = k8sCloneCmd('ce', 'gcp/monolith');

This guide walks you through deploying ThingsBoard CE in monolith mode on <a href="https://cloud.google.com/kubernetes-engine" target="_blank">Google Kubernetes Engine</a>. We use Google Cloud SQL for managed PostgreSQL.

Expand Down
5 changes: 2 additions & 3 deletions src/content/docs/docs/installation/minikube-cluster-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@ description: "Set up ThingsBoard Community Edition in cluster mode using Kuberne
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { CE_FULL_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';
import { Products } from '~/models/site.models';

export const cloneRepo = `git clone -b release-${CE_FULL_VER} https://github.com/thingsboard/thingsboard-ce-k8s.git --depth 1
cd thingsboard-ce-k8s/minikube`;
export const cloneRepo = k8sCloneCmd('ce', 'minikube');

This guide walks you through setting up ThingsBoard Community Edition in cluster mode using Kubernetes and Minikube with microservices architecture.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@ description: "Set up ThingsBoard Community Edition in cluster mode using Kuberne
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { CE_FULL_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';
import { Products } from '~/models/site.models';

export const cloneRepo = `git clone -b release-${CE_FULL_VER} https://github.com/thingsboard/thingsboard-ce-k8s.git --depth 1
cd thingsboard-ce-k8s/openshift`;
export const cloneRepo = k8sCloneCmd('ce', 'openshift');

This guide walks you through setting up ThingsBoard Community Edition in cluster mode using OpenShift with microservices architecture.

Expand Down
9 changes: 4 additions & 5 deletions src/content/docs/docs/pe/installation/aws-microservices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@ sidebar:
description: "Deploy ThingsBoard PE in microservices mode on AWS EKS with managed PostgreSQL, MSK, and ElastiCache."
---
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Aside, Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH, PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-pe-k8s.git --depth 1
cd thingsboard-pe-k8s/aws/microservices`;
export const cloneCmd = k8sCloneCmd('pe', 'aws/microservices');

export const pullImagesCmd = `docker pull thingsboard/tb-pe-node:${PE_FULL_VER}
docker pull thingsboard/tb-pe-web-report:${PE_FULL_VER}
Expand Down
45 changes: 22 additions & 23 deletions src/content/docs/docs/pe/installation/aws-monolith.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@ sidebar:
description: "Deploy ThingsBoard PE in monolith mode on AWS EKS with managed PostgreSQL."
---
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Aside, Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH, PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-pe-k8s.git --depth 1
cd thingsboard-pe-k8s/aws/monolith`;
export const cloneCmd = k8sCloneCmd('pe', 'aws/monolith');

export const pullImagesCmd = `docker pull thingsboard/tb-pe-node:${PE_FULL_VER}
docker pull thingsboard/tb-pe-web-report:${PE_FULL_VER}`;
Expand Down Expand Up @@ -48,11 +47,11 @@ Verify that you can pull the images from Docker Hub:

In the `cluster.yml` file you can find the suggested cluster configuration. Key fields you can change:

| Field | Default | Description |
|---|---|---|
| `region` | `us-east-1` | AWS region for the cluster |
| `availabilityZones` | `[us-east-1a, us-east-1b, us-east-1c]` | Region availability zones |
| `instanceType` | `m5.xlarge` | EC2 instance type for nodes |
| Field | Default | Description |
|---------------------|----------------------------------------|-----------------------------|
| `region` | `us-east-1` | AWS region for the cluster |
| `availabilityZones` | `[us-east-1a, us-east-1b, us-east-1c]` | Region availability zones |
| `instanceType` | `m5.xlarge` | EC2 instance type for nodes |

<Aside type="note">
If you don't change `instanceType` and `desiredCapacity`, EKS will deploy **1** node of type **m5.xlarge**.
Expand All @@ -74,12 +73,12 @@ Once the cluster is ready, create the AWS load-balancer controller by following

The cluster provisioning scripts create several load balancers:

| Load Balancer | Type | Purpose |
|---|---|---|
| `tb-http-loadbalancer` | ALB | Web UI, REST API, HTTP transport |
| `tb-mqtt-loadbalancer` | NLB | MQTT transport |
| `tb-coap-loadbalancer` | NLB | CoAP transport |
| `tb-edge-loadbalancer` | NLB | Edge instances connectivity |
| Load Balancer | Type | Purpose |
|------------------------|------|----------------------------------|
| `tb-http-loadbalancer` | ALB | Web UI, REST API, HTTP transport |
| `tb-mqtt-loadbalancer` | NLB | MQTT transport |
| `tb-coap-loadbalancer` | NLB | CoAP transport |
| `tb-edge-loadbalancer` | NLB | Edge instances connectivity |

<Aside type="caution">
Provisioning the AWS load-balancer <a href="https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html" target="_blank">controller</a> is a **critical step** required for the load balancers to work properly.
Expand Down Expand Up @@ -342,13 +341,13 @@ kubectl apply -f receipts/udp-load-balancer.yml

The load balancer forwards all UDP traffic for ports:

| Port | Protocol |
|---|---|
| 5683 | CoAP non-secure |
| 5684 | CoAP secure DTLS |
| 5685 | LwM2M non-secure |
| 5686 | LwM2M secure DTLS |
| 5687 | LwM2M bootstrap DTLS |
| Port | Protocol |
|------|-----------------------------|
| 5683 | CoAP non-secure |
| 5684 | CoAP secure DTLS |
| 5685 | LwM2M non-secure |
| 5686 | LwM2M secure DTLS |
| 5687 | LwM2M bootstrap DTLS |
| 5688 | LwM2M bootstrap secure DTLS |

For CoAP over DTLS, follow the <DocLink product={Products.PE} path="reference/coap-api/getting-connected">CoAP over DTLS</DocLink> guide. For LwM2M over DTLS, follow the <DocLink product={Products.PE} path="reference/lwm2m-api/getting-started#dtls-server-configuration">LwM2M over DTLS</DocLink> guide.
Expand Down
9 changes: 4 additions & 5 deletions src/content/docs/docs/pe/installation/azure-microservices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@ sidebar:
description: "Deploy ThingsBoard PE in microservices mode on Azure Kubernetes Service with Azure Database for PostgreSQL."
---
import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Aside, Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH, PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-pe-k8s.git --depth 1
cd thingsboard-pe-k8s/azure/microservices`;
export const cloneCmd = k8sCloneCmd('pe', 'azure/microservices');

export const pullImagesCmd = `docker pull thingsboard/tb-pe-node:${PE_FULL_VER}
docker pull thingsboard/tb-pe-web-report:${PE_FULL_VER}
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/docs/pe/installation/azure-monolith.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import ImageGallery from '~/components/ImageGallery.astro';
import { Products } from '~/models/site.models';
import { CE_BRANCH, PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-pe-k8s.git --depth 1
cd thingsboard-pe-k8s/azure/monolith`;
export const cloneCmd = k8sCloneCmd('pe', 'azure/monolith');

export const pullImagesCmd = `docker pull thingsboard/tb-pe-node:${PE_FULL_VER}
docker pull thingsboard/tb-pe-web-report:${PE_FULL_VER}`;
Expand Down
6 changes: 3 additions & 3 deletions src/content/docs/docs/pe/installation/gcp-microservices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import DocLink from '@components/DocLink.astro';
import { Steps, Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { Products } from '~/models/site.models';
import { CE_BRANCH, PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { PE_FULL_VER, TRENDZ_VER } from '~/data/versions';
import { k8sCloneCmd } from '~/util/install-commands';

export const cloneCmd = `git clone -b ${CE_BRANCH} https://github.com/thingsboard/thingsboard-pe-k8s.git --depth 1
cd thingsboard-pe-k8s/gcp/microservices`;
export const cloneCmd = k8sCloneCmd('pe', 'gcp/microservices');

export const pullImagesCmd = `docker pull thingsboard/tb-pe-node:${PE_FULL_VER}
docker pull thingsboard/tb-pe-web-report:${PE_FULL_VER}
Expand Down
Loading