[[TOC]]
Qubership OpenSearch is a comprehensive solution for deploying OpenSearch in Kubernetes with High Availability (HA), Disaster Recovery (DR), and Multi-AZ setups. Includes tools for backup management, monitoring, database as a service API and integration testing to ensure reliable operation and security. Designed for creating resilient and secure Consul clusters in a cloud-native environment.
./charts
- directory with main HELM chart for OpenSearch and integration tests../config
- directory with YAML resources for operator framework../controllers
- directory with operator's Golang source code which implements controller functionality../dev-kit
- directory with scripts for working with Golang Operator Framework../disasterrecovery
- directory with operator's Golang source code which implements disaster recovery functionality../docs
- directory with actual documentation for OpenSearch service component../integration-tests
- directory with Robot Framework test cases for OpenSearch../tls-init
- directory with source code, Dockerfile and CI/CD config files fortls-init
job../utils
- directory with operator's Golang source code which implements common functions.
- Build operator and integration tests, if you need non-main versions.
- Prepare kubeconfig on you host machine to work with target cluster.
- Prepare
sample.yaml
file with deployment parameters, which should contains custom docker images if it is needed. - Store
sample.yaml
file in/charts/helm/opensearch-service
directory. - Go to
/charts/helm/opensearch-service
directory. - Run the following command:
helm install opensearch-service ./ -f sample.yaml -n <TARGET_NAMESPACE>
There is no smoke tests.
To debug Operator in VSCode you can use Launch operator
configuration which is already defined in
.vscode/launch.json
file.
The developer should configure environment variables:
KUBECONFIG
- developer should need to defineKUBECONFIG
environment variable which should contains path to the kube-config file. It can be defined on configuration level or on the level of user's environment variables.OPENSEARCH_USERNAME
- username for REST API access.OPENSEARCH_PASSWORD
- password for REST API access.OPENSEARCH_HOST
- OpenSearch's Ingress.OPENSEARCH_NAME
,WATCH_NAMESPACE
.
There are no well-defined rules for troubleshooting, as each task is unique, but there are some tips that can do:
- Deploy parameters.
- Application manifest.
- Logs from all OpenSearch service pods: operator, OpenSearch, monitoring and others.
Also, developer can take a look on Troubleshooting guide.
To keep the component up to date, the following activities should be performed regularly:
- Vulnerabilities fixing.
- OpenSearch upgrade.
- Bug-fixing, improvement and feature implementation for operator and other related supplementary services.