-
Notifications
You must be signed in to change notification settings - Fork 733
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
Be able to configure index settings / ILM with CRD #2157
Comments
I actually spoke with @sebgl during Kubecon about the possibility of this feature. It's crazy you had the same thought around the same time! Our use case would definitely fall under the ability to do GitOps, e.g. maintaining a set of ILM CRDs that our pipelines can deploy to K8s, resolved by this operator. |
A few thoughts:
|
Related #2155 |
What's the state of this feature? Are you accepting PRs for it? Improbable has a use-case to use the operator to create and bootstrap a cluster, including users, roles, ILMs, aliases, index-tempaltes and index-patterns for Kibana. I'd be happy to contribute this. |
Hey folks, we are still taking a look into this |
Adding this feature in the upstream Elasticsearch has been rejected. How can we proceed now? |
@agup006 is this a feature that is on the roadmap? Being able to define the configuration of ES, Kibana, etc using built in k8s resources would be a super useful feature. Right now we have to utilize cronjobs or custom code to generate and ensure the continued existence. |
Elastic made an official blog post to announce elastic stack as code using terraform https://www.elastic.co/blog/streamline-configuration-processes-with-official-elastic-stack-terraform-provider. This is exactly the same things that using k8s CRDs but with Terraform. This should help the implementation as the problematic (elasticsearch side) is the same and seems already resolved. |
@mtparet we had the same problem with missing CRDs for Elasticsearch and Kibana resources that made the ECK usage a bit unpleasant because we need to define dozens of indices/templates/ILMs/SLMs as well as plenty of Kibana resources. So I made a k8s operator that manages these resources (https://github.com/xco-sk/eck-custom-resources). It's far from perfect but if you give it a try, I'll be super glad for any feedback or functionality requests. |
@mtparet unfortunately Terraform solution requires direct connectivity between Terraform and ElasticSearch cluster which is not possible in some configurations. So ability to use a CRD still would be really nice. |
Could you say more about that? What if you were running Terraform in a pod in the same k8s cluster where Elasticsearch is deployed? |
So for now we just ended up with deploying a set of kube cron jobs to the same kube cluster when we run ECK. Those cron jobs periodically execute a script which attempts to connect to ECK clusters and create ILM/SLM in them. So essentially a poorman's operator approach. This approach took just few days to implement, but reconfiguring our infra to grant TF direct connectivity to ES can take much much more time and effort. Instead we most likely will end up with something like #2157 (comment) And in my opinion it doesn't look very logical to configure half of an ES cluster by creating CRDs (for the operator itself, ES and Kibana) and another half using a completely different approach - via the Elasticsearch provider with direct connectivity to that ES cluster (ILM, SLM). It would be much more logical to just create a set of CRDs. |
Closing this one, as this feature is now available through "StackConfigPolicy" CRD in the ECK operator. |
bummer this has become an enterprise feature |
make sure your CRD isn't missing: |
Proposal
Be able to configure ILM (and generally index settings) through a CRD.
Why is it so important?
This makes possible to natively industrialize (reducing a lot the cost of creating new clusters) creating ElasticSearch cluster ready for typical use cases with the right configuration.
Also it enables gitops for what is possible to do with these new CRDs.
The text was updated successfully, but these errors were encountered: