Giter VIP home page Giter VIP logo

opensearch-k8s-operator's Introduction

build test release Golang Lint

OpenSearch-k8s-operator

The Kubernetes OpenSearch Operator is used for automating the deployment, provisioning, management, and orchestration of OpenSearch clusters and OpenSearch dashboards.

Getting started

The Operator can be easily installed using helm on any CNCF-certified Kubernetes cluster. Please refer to the User Guide for installation instructions.

Roadmap

The full roadmap is available in the Development plan.

Currently planned features:

  • Deploy a new OS cluster.
  • Ability to deploy multiple clusters.
  • Spin up OS dashboards.
  • Configuration of all node roles (master, data, coordinating..).
  • Scale the cluster resources (manually), per nodes' role group.
  • Drain strategy for scale down.
  • Version updates.
  • Change nodes' memory allocation and limits.
  • Secured installation features.
  • Certificate management.
  • Rolling restarts - through API.
  • Scaling nodes' disks - increase disk size.
  • Cluster configurations and nodes' settings updates.
  • Operator Monitoring, with Prometheus and Grafana.
  • Auto scaler based on usage, load, and resources.
  • Control shard balancing and allocation: AZ/Rack awareness, Hot/Warm.

Installation

The Operator can be easily installed using Helm:

  1. Add the helm repo: helm repo add opensearch-operator https://opster.github.io/opensearch-k8s-operator/
  2. Install the Operator: helm install opensearch-operator opensearch-operator/opensearch-operator

Development

Running the Operator locally

  • Clone the repo and go to the opensearch-operator folder.
  • Run make build manifests to build the controller binary and the manifests
  • Start a Kubernetes cluster (e.g. with k3d or minikube) and make sure your ~/.kube/config points to it
  • Run make install to create the CRD in the kubernetes cluster
  • Start the Operator by running make run

Note: use GO 1.17 version

Now you can deploy an Opensearch cluster.

Go to opensearch-operator and use opensearch-cluster.yaml as a starting point to define your cluster. Then run:

kubectl apply -f opensearch-cluster.yaml

In order to delete the cluster, you just delete your OpenSearch cluster resource. This will delete the cluster and all of its resources.

kubectl delete -f opensearch-cluster.yaml

Installation Tutorial and Demo

Watch the video

Contributions

We welcome contributions! See how you can get involved by reading CONTRIBUTING.md.

opensearch-k8s-operator's People

Contributors

idanl21 avatar prudhvigodithi avatar swoehrl-mw avatar dbason avatar ido-opster avatar segalziv avatar shahar35 avatar vanveele avatar asafm avatar albertollamaso avatar elishevaopster avatar madhukarmmallia-plivo avatar kannappansomu avatar andloh avatar unb0rn avatar jkowall avatar bl1tz23 avatar boriskezikov avatar ekarlso avatar glenrsmith avatar max-frank avatar ibotty avatar turesheim avatar a-pel-a avatar djosix avatar jlamillan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.