Skip to content
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

Deploy shared ElasticSearch onto the cluster #4

Closed
bradenmacdonald opened this issue Dec 6, 2022 · 11 comments
Closed

Deploy shared ElasticSearch onto the cluster #4

bradenmacdonald opened this issue Dec 6, 2022 · 11 comments
Assignees

Comments

@bradenmacdonald
Copy link
Contributor

bradenmacdonald commented Dec 6, 2022

Can use a Helm subchart.

Note: we should consider the use case where multiple Open edX platforms are run in the same cluster with different elasticsearch versions.

@antoviaque
Copy link

@keithgg Could you post a status update on this task here? This way we could follow & discuss here async, ahead of the next meeting.

@keithgg
Copy link
Contributor

keithgg commented Jan 12, 2023

Sure @antoviaque.

There was a minor (I hope) issue I ran into, which is that when running multiple ElasticSearch versions it might make sense to have them in different namespaces. es7 vs es8 for instance. Because both helm chart set up similar containers there's some conflicts.

AFAICT helm doesn't allow deploying to multiple namespaces, but I'm still a helm newbie so I need to investigate it a bit to see what options we have here.

@bradenmacdonald
Copy link
Contributor Author

@keithgg Yeah, Helm doesn't really support deploying to multiple namespaces with a single chart (or at least it's highly discouraged). You can always run a separate command to deploy a chart or subchart to a separate namespace, but that's not ideal.

Do we really need to run both es7 and es8 on the cluster though? Why is that?

@antoviaque
Copy link

@keithgg Thanks! Btw if I understand correctly, the issue was a blocker to the completion of the current task? What is the work remaining currently to complete the current ticket, and ETA?

@keithgg
Copy link
Contributor

keithgg commented Jan 13, 2023

Do we really need to run both es7 and es8 on the cluster though?

Note: we should consider the use case where multiple Open edX platforms are run in the same cluster with different elasticsearch versions.

@bradenmacdonald I didn't think we did, but your note suggested otherwise. Did you mean something else?

Thanks! Btw if I understand correctly, the issue was a blocker to the completion of the current task? What is the work remaining currently to complete the current ticket, and ETA?

@antoviaque yep. There's not that much to do here, besides adding the helm chart with some light configuration. I should be able to complete the work in a couple hours, but testing it is problematic, because I'm incorporating multiple changes to make it work.

I'll be working on this Monday with the aim of having everything completed by Wednesday next week.

@bradenmacdonald
Copy link
Contributor Author

@keithgg I meant to think about it, which you have now done, but it doesn't need to be a blocker if it's not something we can easily support. Just a potential worry for the future so it's helpful to plan now in case there's a workaround we can include from the beginning. But if not, that's fine.

@bradenmacdonald
Copy link
Contributor Author

@keithgg Actually there may be a workaround that we can use [in the future], though it depends on whether or not the ElasticSearch chart supports it:

https://cert-manager.io/docs/installation/helm/#installing-cert-manager-as-subchart

There may be a situation where you want to specify the namespace to install [something] different to the umbrella chart's namespace.

This is a known issue with helm and subcharts, that you can't specify the namespace for the subchart and is being solved by most public charts by allowing users to set the namespace via the values file, but needs to be a capability added to the chart by the maintainers.

@keithgg
Copy link
Contributor

keithgg commented Jan 18, 2023

Update: I got delayed a bit with the forum changes (had to brush up on my Ruby), but I managed to get ES deployed onto the cluster. If all goes well, I should be able to wrap this up tomorrow.

@antoviaque
Copy link

@keithgg How is this going? Sorry if this has been mentioned during the last meeting that I missed, but I wasn't sure after reading the notes if this was explicitly discussed.

@bradenmacdonald
Copy link
Contributor Author

@antoviaque It's ready and @keithgg is just waiting for our review on #13

@antoviaque
Copy link

Update from the meeting: there is one last item from the review that @keithgg need to address, and this should then hopefully be ready to merge.

github-actions bot added a commit to openedx/edx-platform that referenced this issue May 9, 2023
<!--

🌴🌴
🌴🌴🌴🌴         🌴 Note: the Palm master branch has been created. Please consider whether your change
    🌴🌴🌴🌴     should also be applied to Palm. If so, make another pull request against the
🌴🌴🌴🌴         open-release/palm.master branch, or ask in the #wg-build-test-release Slack channel
🌴🌴             if you have any questions or need help.

🫒🫒🫒🫒🫒🫒     🫒 Note: the Olive release is still supported.
                Please consider whether your change should be applied to Olive as well.

Please give your pull request a short but descriptive title.
Use conventional commits to separate and summarize commits logically:
https://open-edx-proposals.readthedocs.io/en/latest/oep-0051-bp-conventional-commits.html

Use this template as a guide. Omit sections that don't apply.
You may link to information rather than copy it, but only if the link is publicly
readable.  If you must linked information must be private (because it has secrets),
clearly label the link as private.

-->

## Description

This PR aims to update the version of the edx-search library to [3.5.0](https://github.com/openedx/edx-search/releases/tag/v3.5.0). This update will enable operators to have a shared ElasticSearch installation for multiple OpenedX instances. More details about this feature can be found [here](openedx/edx-search#130).

## Supporting information

In the Large Instances Working Group we added a feature to have a [shared ElasticSearch installation](openedx/openedx-k8s-harmony#4) for multiple OpenedX instances in a Kubernetes cluster. To take advantage of this feature in the Palm release, we require the upgrade of the edx-search version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

3 participants