Skip to content

webcenter-fr/elasticsearch-operator

Repository files navigation

Elastic operator

This Elastic operator permit to deploy Elastic stack (elasticsearch, kibana, logstash, filebeat, metricbeat en crebro) and manage some configurations like role, user, ILM, SLM, repositories, etc ...

Like you say, there are on official elastic operator called ECK that can work fine and better than here.

Benefit of this operator:

  • This operator permit to work with all license (basic, platinium and enterprise)
  • Only one operator to manage different license on each cluster
  • You can configure Elasticsearch after deploy it: role, user, license, component, index template, ILM, SLM, repositories, role mappings.
  • You can configure Kibana after deploy it: logstash pipeline, role, user space
  • You can add automatically host entry in Cerebro (UI to manage Elasticsearch)
  • It reconcile when you update external secrets and external configMaps
  • It manage automatically the transport TLS certificats and API TLS certificates
  • It rolling update Elaticsearch cluster pod by pod.

Deploy operator

For moment, it only support the deployment by OLM with private catalog.

So, you need to add catalog on olm namespace:

apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: elasticsearch-operator
  namespace: olm
spec:
  sourceType: grpc
  image: quay.io/webcenter/elasticsearch-operator-catalog:v0.0.38

Then, you need to add the subscriptions:

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: elasticsearch-operator-subscription
spec:
  channel: alpha
  name: elasticsearch-operator
  source: elasticsearch-operator
  sourceNamespace: olm
  config:
    env:
      - name: LOG_LEVEL
        value: INFO

To upgrade operator, you just need to update the image version on elasticsearch-operator catalog source

Deploy Elasticsearch cluster

To deploy Elasticsearch cluster, you need to set a custom resource of type Elasticsearch. To do that, you need to set:

  • main settings: Elasticsearch version, cluster name
  • global settings share between node groups
  • nodes groups settings: the topology of elasticsearch cluster
  • endpoint to access on Elasticsearch
  • TLS to encrypt network and trust nodes
  • License if platinium or enterprise is needed
  • Monitoring to monitor elasticsearch from prometheus/graphana or with dedicated Elasticsearch/kibana cluster
  • Generate automatically system passwords

You can read some samples:

You can read complete documentation per sub section

Manage Elasticsearch cluster

You can define some resources inside your Elasticsearch cluster. The operator will use the Elasticsearch API.

You can use the following resources:

Deploy Kibana

To deploy Kibana, you need to set a custom resource of type Kibana. To do that, you need to set:

  • main settings: Kibana version, Elasticsearch ref, etc.
  • deployment settings
  • endpoint to access on Kibana
  • TLS to encrypt network
  • Monitoring to monitor Kibana from prometheus/graphana or with dedicated Elasticsearch/kibana cluster

You can read some samples:

You can read complete documentation per sub section

Manage Kibana

You can define some resources inside your kibana instance. The operator will use the Kibana API.

You can use the following resources:

Deploy Logstash

To deploy Logstash, you need to set a custom resource of type Logstash. To do that, you need to set:

  • main settings: Logstash version, Elasticsearch ref, etc.
  • deployment settings
  • endpoint to access on Logstash API or inputs
  • Monitoring to monitor Logstash from prometheus/graphana or with dedicated Elasticsearch/kibana cluster

You can read some samples:

You can read complete documentation per sub section

Deploy Filebeat

To deploy Filebeat, you need to set a custom resource of type Filebeat. To do that, you need to set:

  • main settings: Filebeat version, Elasticsearch ref, etc.
  • deployment settings
  • endpoint to access on Filebeat API or inputs
  • Monitoring to monitor Filebeat from prometheus/graphana or with dedicated Elasticsearch/kibana cluster

You can read some samples:

You can read complete documentation per sub section

Deploy Metricbeat

To deploy Metricbeat, you need to set a custom resource of type Metricbeat. To do that, you need to set:

  • main settings: Metricbeat version, Elasticsearch ref, etc.
  • deployment settings

You can read some samples:

You can read complete documentation per sub section

Deploy Cerebro

To deploy Cerebro, you need to set a custom resource of type Cerebro. To do that, you need to set:

  • main settings: Cerebro version, etc.
  • deployment settings
  • endpoint to access on UI
  • Cerebro targets

You can read some samples:

You can read complete documentation per sub section

Design

About

Elasticsearch operator that work with all license type

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages