-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Elasticsearch Helm Chart review #53426
Comments
Hi @jasontedor Elasticsearch chart code is in helm-charts/elasticsearch. This chart will create the following K8S resources:
What we would like for this review
Please ping me if you have any questions |
This quote was originally for non-cluster applications like Metricbeat/Filebeat. For stateful clusters applications like Elasticsearch there is also another really important usage for the readinessProbe. Under normal operating conditions the readinessProbe needs to be "node aware". If this is passing, please send requests to me. If it is failing remove me from the service. During restarts (rolling upgrades, Kubernetes node cluster maintenance or pod rescheduling) this readinessProbe also needs to become "cluster aware". This is because Kubernetes will wait for the first pod to be ready before restarting the next one. Without any cluster level health checking here it would mean that Kubernetes would restart each pod in sequence as soon as it started responding to a basic "I am ready" check. For Elasticsearch this would mean that nothing was waiting for the cluster to be "green" in between restarts of each Elasticsearch pod. The current logic in the readinessProbe will make sure that on initial startup the probe will wait for the cluster to become green. Once this condition is met the probe switches over to the node level check. This makes sure that cluster health is green before upgrading the next pod, and that already running pods are not considered unhealthy if the cluster health is non-green. In an ideal world Kubernetes statefulsets would have different readinessProbes to signify pod level health, and cluster level health for rolling upgrade but this is unfortunately not the case. The readinessProbe: |
Pinging @elastic/es-core-infra (:Core/Infra/Core) |
Feedback from an Elasticsearch POV:
It may be useful to get an ECK developer to take a look as well. |
Hi @pugnascotia,
Yeah, our charts aren't officially supporting Helm 3 yet as stated in (elastic/helm-charts/elasticsearch#requirements). I should have specified it in this issue 🤦♂ .
👍 |
@pugnascotia Do you have other feedback to add for Elasticsearch chart or can we close this issue? |
I don't have any more feedback. |
Great! So I'll close this issue. Thank you for your review 👍 |
@pugnascotia fyi we merged elastic/helm-charts#586 to update readiness probe |
@jmlrt looks good. Tell me - what Docker image will those |
Commands for the readiness probe are run inside the elasticsearch container |
Product teams tasks
We’d like to have chart reviews from product teams to validate that they are following product recommended configuration for Kubernetes:
Elasticsearch
The text was updated successfully, but these errors were encountered: