You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For more details on the Elasticsearch deployment, see [Elasticsearch deployment in the operator-based infrastructure guide](/self-managed/deployment/helm/configure/operator-based-infrastructure.md#elasticsearch-deployment).
Copy file name to clipboardExpand all lines: docs/self-managed/deployment/helm/cloud-providers/azure/microsoft-aks/aks-helm.md
+37-62Lines changed: 37 additions & 62 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,20 +15,21 @@ import NoDomainInfo from '../../\_partials/\_no-domain-info.md'
15
15
import HelmUpgradeNote from '../../\_partials/\_helm-upgrade-note.md'
16
16
import KubefwdTip from '../../\_partials/\_kubefwd-tip.md'
17
17
import PortForwardServices from '../../\_partials/\_port-forward-services.md'
18
+
import DeployECKElasticsearch from '../../\_partials/\_deploy-eck-elasticsearch.md'
18
19
19
20
This guide provides a comprehensive walkthrough for installing the Camunda 8 Helm chart on your existing Azure Kubernetes Service (AKS) cluster, and confirmation it is working as intended.
20
21
21
-
## Prerequisites
22
+
## Requirements
22
23
23
24
- A Kubernetes cluster; refer to the [Terraform guide](./terraform-setup.md) for details.
24
25
-[Helm](https://helm.sh/docs/intro/install/)
25
26
-[kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) to interact with the cluster.
26
27
-[jq](https://jqlang.github.io/jq/download/) to interact with some variables.
27
28
-[GNU envsubst](https://www.man7.org/linux/man-pages/man1/envsubst.1.html) to generate manifests.
28
-
- (optional) Custom domain name/[DNS zone](https://learn.microsoft.com/en-us/azure/dns/dns-zones-records) in Azure DNS. This allows you to expose Camunda 8 endpoints and connect via community-supported [zbctl](https://github.com/camunda-community-hub/zeebe-client-go/blob/main/cmd/zbctl/zbctl.md) or [Camunda Modeler](https://camunda.com/download/modeler/).
29
29
- A namespace to host the Camunda Platform; in this guide we will reference `camunda` as the target namespace.
30
-
31
-
For the tool versions used, check the [.tool-versions](https://github.com/camunda/camunda-deployment-references/blob/main/.tool-versions) file in the related repository. This contains an up-to-date list of versions we also use for testing.
30
+
- (optional) Custom domain name/[DNS zone](https://learn.microsoft.com/en-us/azure/dns/dns-zones-records) in Azure DNS. This allows you to expose Camunda 8 endpoints and connect via community-supported [zbctl](https://github.com/camunda-community-hub/zeebe-client-go/blob/main/cmd/zbctl/zbctl.md) or [Camunda Modeler](https://camunda.com/download/modeler/).
31
+
- (optional) Permissions to install Kubernetes operators (cluster-admin or equivalent) to deploy infrastructure services such as Elasticsearch, PostgreSQL, and Keycloak. This guide installs them directly from source to provide full control over versions and configuration.
32
+
For the tool versions used, check the [.tool-versions](https://github.com/camunda/camunda-deployment-references/blob/main/.tool-versions) file in the related repository. This contains an up-to-date list of versions we also use for testing.
Some components are not enabled by default in this deployment. For more information on how to configure and enable these components, refer to [configuring Web Modeler, Console, and Connectors](/self-managed/deployment/helm/install/quick-install.md#configuring-web-modeler-console-and-connectors).
256
257
257
-
#### Elasticsearch options
258
+
#### Fill your deployment with actual values
258
259
259
-
Camunda Helm chart supports both internal and external Elasticsearch deployments. For production workloads, we recommend using an externally managed Elasticsearch service (for example, [Elastic Cloud on Azure](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.ec-azure-pp)). Terraform support for Elastic Cloud on Azure can be restrictive but remains a viable option. In this guide, we default to the internal deployment of Elasticsearch.
260
+
Once you've prepared the `values.yml` file, run the following `envsubst` command to substitute the environment variables with their actual values:
260
261
261
-
<details>
262
-
<summary>Show configuration to enable internal Elasticsearch</summary>
If you plan to enable Web Modeler, create the SMTP secret required for email notifications ([see how it's used by Web Modeler](/self-managed/components/modeler/web-modeler/configuration/configuration.md#smtp--email)):
#### (Optional) Use internal PostgreSQL instead of the managed PostgreSQL service
275
+
###3. Deploy prerequisite services
278
276
279
-
In some scenarios, you might prefer to use an internal PostgreSQL deployment instead of the external Azure Database for PostgreSQL service. This could be due to cost considerations, network restrictions, or the need for tighter control over the database environment.
277
+
Before deploying Camunda, you need to deploy the infrastructure services it depends on. The core infrastructure (Elasticsearch) can be deployed using Kubernetes operators as described in [Deploy infrastructure with Kubernetes operators](/self-managed/deployment/helm/configure/operator-based-infrastructure.md).
280
278
281
-
For example, if your application or service is deployed in a private network and requires a database that resides within the same Kubernetes cluster for performance or security reasons, the internal PostgreSQL deployment would be a better fit.
279
+
-**Elasticsearch**: Deployed via [ECK (Elastic Cloud on Kubernetes)](https://www.elastic.co/guide/en/cloud-on-k8s/current/index.html)
282
280
283
-
To switch to the internal PostgreSQL deployment, configure the Helm chart as follows. Additionally, remove configurations related to the external database and secret references to avoid conflicts.
281
+
All deploy scripts are located in `generic/kubernetes/operator-based/`. Review each script before executing to understand the deployment steps, and adapt the operator Custom Resource configurations for your specific requirements (resource limits, storage, replicas, etc.).
284
282
285
-
<details>
286
-
<summary>Show configuration changes to disable external database usage</summary>
All commands in this guide assume you are at the **repository root** (the directory created by `get-your-copy.sh`). The deploy commands below use subshells `(cd ... && ./deploy.sh)` to preserve your working directory.
If your organization does not want to use a managed Elasticsearch service, ECK Operator is an option. In this guide, we default to the ECK Operator deployment of Elasticsearch.
316
290
317
-
Once you've prepared the `values.yml` file, run the following `envsubst` command to substitute the environment variables with their actual values:
291
+
:::warning Production Elasticsearch recommendation
292
+
For production workloads, we recommend using an externally managed Elasticsearch service (for example, [Elastic Cloud on Azure](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.ec-azure-pp)). Terraform support for Elastic Cloud on Azure can be restrictive but remains a viable option.
If you plan to enable Web Modeler, create the SMTP secret required for email notifications ([see how it's used by Web Modeler](/self-managed/components/modeler/web-modeler/configuration/configuration.md#smtp--email)):
Once the operator-managed services are running, merge the corresponding Helm values overlays into your `values.yml` file. These overlays configure Camunda components to use the external operator-managed services instead of embedded subcharts.
If your organization does not want to use a managed Azure Database for PostgreSQL service, CloudNativePG is an option.
417
+
For more details on the PostgreSQL deployment with CloudNativePG Operator, see [PostgreSQL deployment in the operator-based infrastructure guide](/self-managed/deployment/helm/configure/operator-based-infrastructure.md#postgresql-deployment) for a production-grade setup with automated scaling, upgrades, and built-in security.
Running these commands cleans up both the job and the secret, ensuring that no unnecessary resources remain in the cluster.
585
590
586
-
## 2. Install Camunda 8 using the Helm chart
591
+
## 3. Install Camunda 8 using the Helm chart
587
592
588
593
Now that you've exported the necessary values, you can proceed with installing Camunda 8 using Helm charts. Follow the guide [Camunda 8 on Kubernetes](./aks-helm.md) for detailed instructions on deploying the platform to your Kubernetes cluster.
Copy file name to clipboardExpand all lines: docs/self-managed/deployment/helm/cloud-providers/openshift/redhat-openshift.md
+2-18Lines changed: 2 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@ import NoDomainInfo from '../\_partials/\_no-domain-info.md'
17
17
import HelmUpgradeNote from '../\_partials/\_helm-upgrade-note.md'
18
18
import KubefwdTip from '../\_partials/\_kubefwd-tip.md'
19
19
import PortForwardServices from '../\_partials/\_port-forward-services.md'
20
+
import DeployECKElasticsearch from '../\_partials/\_deploy-eck-elasticsearch.md'
20
21
21
22
Red Hat OpenShift, a Kubernetes distribution maintained by [Red Hat](https://www.redhat.com/en/technologies/cloud-computing/openshift), provides options for both managed and on-premises hosting.
22
23
@@ -404,24 +405,7 @@ All commands in this guide assume you are at the **repository root** (the direct
For more details on the Elasticsearch deployment, see [Elasticsearch deployment in the operator-based infrastructure guide](/self-managed/deployment/helm/configure/operator-based-infrastructure.md#elasticsearch-deployment).
0 commit comments