Analizziamo le diverse sezioni del file
Metadata
Nella sezione metadata si va ad indicare il namespace Kubernetes ed il nome del cluster.
Spec.security
In questa sezione si vanno a definire le configurazioni relative alla sicurezza, per esempio i secret da usare per l’inizializzazione della security, o per i keystore di Opensearch.
General
In questa sezione vengono riportate alcune configurazioni generiche come la porta, il nome del service Kubernetes, la lista del plugin e la versione di OpenSearch.
Dashboards
In questa sezione si vanno a specificare tutte le informazioni relative ad OpenSearch Dashboards, come il numero di repliche, le risorse ad esso associate e la versione.
NodePools
All’interno di questa sezione su vanno a definire i nodePools, per ognuno di essi l’operator crea sul cluster Kubernetes uno statefullSet ed un service.
A livello di nodePools e quindi di statefulset è possibile indicare il numero di repliche , le risorse hardware ed il ruolo OpenSearch associato ad un determinato gruppo di pod.
Per quanto riguarda la persistenza, è possibile utilizzare emptydir, hostpath e le persistenVolumeClaim (consigliate per ambienti di produzione).
Per distribuire i pod su nodi Kubernetes diversi è possibile utilizzare regole di antiaffinity, o property come nodeSelector.
Attraverso la voce additionalConfig, è possibile dettagliare e quindi differenziare per nodepools le configurazioni dei singoli nodi OpenSearch.