OpenSearch Dashboards
OpenSearch Dashboards is currently not managed by the operator but the Stackable Data Platform provides a supported OCI image.
One way to deploy OpenSearch Dashboards is by using the official Helm chart.
A basic values.yaml file to deploy OpenSearch Dashboards with this chart might look like this:
opensearchHosts: https://opensearch-nodes-default.<opensearch-namespace>.svc.cluster.local:9200 (1)
image: (2)
repository: oci.stackable.tech/sdp/opensearch-dashboards
tag: 3.1.0-stackable0.0.0-dev
serviceAccount:
create: false
name: opensearch-serviceaccount (3)
config:
opensearch_dashboards.yml:
server:
ssl:
enabled: true (4)
certificate: /stackable/opensearch-dashboards/config/tls/tls.crt (5)
key: /stackable/opensearch-dashboards/config/tls/tls.key (6)
opensearch:
username: kibanaserver (7)
ssl:
verificationMode: full (8)
certificateAuthorities:
- /stackable/opensearch-dashboards/config/tls/ca.crt (9)
opensearch_security:
cookie:
secure: true (10)
extraEnvs:
- name: OPENSEARCH_PASSWORD
valueFrom:
secretKeyRef:
name: opensearch-credentials
key: kibanaserver (11)
extraVolumes:
- name: tls (12)
ephemeral:
volumeClaimTemplate:
metadata:
annotations:
secrets.stackable.tech/class: tls
secrets.stackable.tech/scope: service=opensearch-dashboards
spec:
storageClassName: secrets.stackable.tech
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "1"
extraVolumeMounts:
- mountPath: /stackable/opensearch-dashboards/config/tls
name: tls
- mountPath: /stackable/opensearch-dashboards/config/opensearch_dashboards.yml
name: config (13)
subPath: opensearch_dashboards.yml
podSecurityContext:
fsGroup: 1000 (14)
| 1 | Address of the OpenSearch Service deployed by the operator; This address must be adapted according to your deployment. |
| 2 | Use the OCI image provided by the Stackable Data Platform |
| 3 | If running on OpenShift, use the ServiceAccount of OpenSearch because its permissions are already configured to work on OpenShift. This ServiceAccount name must probably adapted according to your deployment. |
| 4 | Enable TLS, so that OpenSearch Dashboards is served over HTTPS. |
| 5 | The TLS server certificate |
| 6 | The key for the TLS server certificate |
| 7 | OpenSearch Dashboards uses the user kibanaserver to communicate with OpenSearch. |
| 8 | OpenSearch Dashboards verifies the certificate of OpenSearch. This is disabled by default. |
| 9 | The CA certificate which is used to verify the OpenSearch certificate |
| 10 | Ensure that cookies are not sent via an insecure connection. |
| 11 | The password for the kibanaserver user |
| 12 | This example uses the secret operator to provide a TLS certificate. |
| 13 | The Helm chart only adds a volume mount at /usr/share/opensearch-dashboards/config, but in the image provided by Stackable, OpenSearch Dashboards is located in /stackable/opensearch-dashboards. |
| 14 | Mount the volumes with the stackable group so that the files are accessible by OpenSearch Dashboards. |
After the values are adjusted according to your deployment, especially opensearchHosts and serviceAccount.name, you can deploy the Helm chart as follows:
helm install opensearch-dashboards opensearch-dashboards \
--repo https://opensearch-project.github.io/helm-charts \
--version 3.1.0 \
--values opensearch-dashboards-values.yaml \
--wait