GithubHelp home page GithubHelp logo

Comments (6)

rwittrick avatar rwittrick commented on July 20, 2024

Also, coordinator nodes do not need a cluster_health of green, they can cope with yellow. If a coordinator node is restarted while the cluster is yellow, the readiness probe fails, failing kibana or beats being able to write.

from helm-charts.

jordansissel avatar jordansissel commented on July 20, 2024

coordinator nodes do not need a cluster_health of green

I think the node readinessProbe could be best discussed in a separate issue, and affects all roles not just coordinators. Can you open a separate issue?

from helm-charts.

jordansissel avatar jordansissel commented on July 20, 2024

Can you please explain why a statefulset is preferred over deployment for coordinating nodes

"preferred" sounds like it assumed this was an explicit choice, and I'm not sure it was.

In Elasticsearch, a coordinator node is a node with all other roles disabled. The chart today doesn't have any special handling for the case you describe such as "When all roles are disabled, do X, Y, and Z differently".

It's possible that we only need PVCs when data or master roles are enabled (I dont' think ML or ingest roles need persistent disk).

I've personally never used coordinating nodes (in ~9 years of using Elasticsearch), so it's not something I think about when I'm building things. I can't speak for @Crazybus or @jethr0null's experiences in this area, though. I'm glad to see others are thinking about this, though, so we can improve the chart together :)

from helm-charts.

Crazybus avatar Crazybus commented on July 20, 2024

Can you please explain why a statefulset is preferred over deployment for coordinating nodes and why does it need a persistent volume claim?

It wasn't a conscious decision to do this for coordinating nodes. I have the same response as @jordansissel in that I have never had a need for them personally so it wasn't something that was part of the design. Luckily though it seems it should be very simple to make this configuration possible.

Would you have any objections to coordinating nodes being statefulsets without a persistent volume claim? The advantage with keeping all node types using statefulsets is that it helps to keep the configuration and features consistent between all possible Elasticsearch node combinations. If we were to implement deployments for non-data requiring combinations of node roles then all changes would need to be duplicated into the statefulset and the deployment templates. It helps to keep the chart as flexible as possible and reduce the complexity of it.

Having a look through the node types documentation it seems like only master and data roles require persistent data.

So requesting and mounting the pvc should only be done if both node.master and node.data are set to false. It's important to explicitly check for false as it is also possible for a user to not specify node.master or node.data which will then result in Elasticsearch using the default setting of true for both of them.

from helm-charts.

jinja2 avatar jinja2 commented on July 20, 2024

@Crazybus @jordansissel thanks guys for your responses, sorry, i forgot to update this issue... For now, we have customized our ES chart to be able to spinup coordinating nodes as deployments. The main reason for using deployments is the ease of rolling updates (we can configure surge).
I am going to close this issue for now.

from helm-charts.

Crazybus avatar Crazybus commented on July 20, 2024

I have opened #114 to make deploying a statefulset without persistent data possible.

from helm-charts.

Related Issues (20)

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.