elasticsearch-operator

command module
v0.0.0-...-31fc70c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2024 License: MIT Imports: 40 Imported by: 0

README

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
apis
beat/v1
Package v1 contains API Schema definitions for the beat v1 API group +kubebuilder:object:generate=true +groupName=beat.k8s.webcenter.fr
Package v1 contains API Schema definitions for the beat v1 API group +kubebuilder:object:generate=true +groupName=beat.k8s.webcenter.fr
cerebro/v1
Package v1 contains API Schema definitions for the cerebro v1 API group +kubebuilder:object:generate=true +groupName=cerebro.k8s.webcenter.fr
Package v1 contains API Schema definitions for the cerebro v1 API group +kubebuilder:object:generate=true +groupName=cerebro.k8s.webcenter.fr
elasticsearch/v1
Package v1 contains API Schema definitions for the elasticsearch v1 API group +kubebuilder:object:generate=true +groupName=elasticsearch.k8s.webcenter.fr
Package v1 contains API Schema definitions for the elasticsearch v1 API group +kubebuilder:object:generate=true +groupName=elasticsearch.k8s.webcenter.fr
elasticsearchapi/v1
Package v1 contains API Schema definitions for the elasticsearchapi v1 API group +kubebuilder:object:generate=true +groupName=elasticsearchapi.k8s.webcenter.fr
Package v1 contains API Schema definitions for the elasticsearchapi v1 API group +kubebuilder:object:generate=true +groupName=elasticsearchapi.k8s.webcenter.fr
kibana/v1
Package v1 contains API Schema definitions for the kibana v1 API group +kubebuilder:object:generate=true +groupName=kibana.k8s.webcenter.fr
Package v1 contains API Schema definitions for the kibana v1 API group +kubebuilder:object:generate=true +groupName=kibana.k8s.webcenter.fr
kibanaapi/v1
Package v1 contains API Schema definitions for the kibanaapi v1 API group +kubebuilder:object:generate=true +groupName=kibanaapi.k8s.webcenter.fr
Package v1 contains API Schema definitions for the kibanaapi v1 API group +kubebuilder:object:generate=true +groupName=kibanaapi.k8s.webcenter.fr
logstash/v1
Package v1 contains API Schema definitions for the logstash v1 API group +kubebuilder:object:generate=true +groupName=logstash.k8s.webcenter.fr
Package v1 contains API Schema definitions for the logstash v1 API group +kubebuilder:object:generate=true +groupName=logstash.k8s.webcenter.fr
shared
Package shared contains types and functions used by API definitions in the operators package +groupName=operators.example.com
Package shared contains types and functions used by API definitions in the operators package +groupName=operators.example.com
controllers
pkg
pki

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL