Role in the deployment¶
The search cluster indexes Data Store paths, names, and AVU metadata so the DE
can answer data searches without walking the catalog. It is populated by
infosquito2, which consumes iRODS data events from
RabbitMQ and can also be asked for a full
reindex.
OpenSearch is what new deployments use. Older deployments run Elasticsearch; that path is kept in Elasticsearch (legacy) for the clusters still on it.
Install¶
ansible-playbook -i /path/to/inventory --tags opensearch kubernetes.yml
Requires a working storage class — see storage. Index data is regenerable, but a full reindex of a large zone is measured in hours, so give it durable volumes rather than node-local scratch.
Verify¶
kubectl -n <NAMESPACE> get pods -l app=opensearch
kubectl -n <NAMESPACE> exec -it <pod> -- curl -s localhost:9200/_cluster/health?pretty
On a small cluster expect yellow rather than green when replicas are
configured but there are not enough nodes to place them. That is a capacity
statement, not a failure; either add nodes or lower the replica count.
Populating the index¶
- Confirm
infosquito2is running and consuming from the DE exchange. - Trigger a full reindex through the message bus: reindex search.
- Restart
infosquito2and thesearchservice so they pick up the request:
kubectl rollout restart deployment infosquito2 search -n <NAMESPACE>
A reindex reads the entire catalog and loads both PostgreSQL and the search cluster. Run it deliberately, not as a first troubleshooting step.