Skip to content


The deployment of the Elasticsearch cluster is a subsection of the OpniCluster resource. It deploys an Elasticsearch cluster and Kibana for visualization. The Opni controller will also create indices and configuration in the Elasticsearch cluster.


kind: OpniCluster
  name: example
  namespace: opni
    version: 1.13.2
            memory: 1Gi
            memory: 1Gi
        replicas: 2
            memory: 2Gi
            memory: 2Gi

Custom Resource Specs


Field Required Type Description
version No string Version of the Opendistro image to use. Defaults to latest
workloads No ElasticWorkloadSpec Configure the Elasticsearch cluster components
defaultRepo No string Image repo to use for Elasticsearch images. Defaults to
image No ImageSpec Explicit configuration for the Elasticsearch image
kibanaImage No ImageSpec Explicit configuration for the Kibana image
persistence No PersistenceSpec Configure the persistence for Elasticsearch data
configSecret No LocalObjectReference Reference to a secret containing logging.yml with the Elasticsearch logging config
adminPasswordFrom No SecretKeySelector Secret key selector pointing to the admin password to use. If not set a password will be autogenerated and stored in the password key in a secret called opni-es-password


Field Required Type Description
master ElasticWorkloadOptions Configuration for the Elasticsearch master node StatefulSet
data ElasticWorkloadOptions Configuration for the Elasticsearch data node StatefulSet
client ElasticWorkloadOptions Configuration for the Elasticsearch client node Deployment
kibana ElasticWorkloadOptions Configuration for the Kibana Deployment


Field Required Type Description
replicas No int Number of replicas to deploy. Defaults to 1
resources No ResourceRequirements Resources for the workload. The resources are used to calculate the Java memory options. If a memory limit exists this is used, if there is a memory request but no limit that is used, otherwise the Java optioms default to a heap size of 512MB
affinity No Affinity Affinity settings for the workload pods
nodeSelector No map NodeSelector for the workload pods. If this exists it will override the globalNodeSelector
tolerations No Toleration array Tolerations for the workload. These will be combined with the globalTolerations (if any)


Field Required Type Description
image No string Explicit CRI image to use
imagePullPolicy No string Image pull policy. One of Always, Never, IfNotPresent. Defaults to IfNotPresent
imagePullSecrets No LocalObjectReference array List of secrets in the same namespace to use for pulling the image


Field Required Type Description
enabled No bool Whether persistent storage is enabled. Defaults to false
storageClassName No string If persistent storage is enabled, the name of the StorageClass to use. If not set will use the default StorageClass
accessModes No string array An array of the access modes the volume supports
request No string The size of the volume to request. Defaults to 10Gi