<div dir="ltr">Hi David, we've got two separate projects.<div><br></div><div>One is koha-docker (<a href="https://gitlab.com/thekesolutions/koha-docker">https://gitlab.com/thekesolutions/koha-docker</a>) that has a "docker-compose" approach, and the second one is koha-helm-chart (<a href="https://gitlab.com/thekesolutions/charts/koha-helm-chart">https://gitlab.com/thekesolutions/charts/koha-helm-chart</a>) where we will implement the kubernetes cronjob approach.</div><div><br></div><div>Please take a look at that one too.</div><div><br></div><div>Regards</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 17, 2020 at 9:51 PM <<a href="mailto:dcook@prosentient.com.au">dcook@prosentient.com.au</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-AU"><div class="gmail-m_-7216609756484721112WordSection1"><p class="MsoNormal">Hey Tom<span lang="EN-US">á</span>s,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I remembered your email and I thought that I would check in. How’s work on koha-docker going? It looks interesting.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">It’s too bad the “koha-common” package name is already used, as it would be interesting to package just the core libraries and scripts to create a really minimal Koha image to use for the Z39.50, SIP, Indexer, etc. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I look forward to a time when we don’t need Apache to do CGI scripts and just function as a reverse proxy and front end web server of static assets (or just the a web server of static assets and Traefik or something could be used as the reverse proxy). <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I think that I’m most intrigued with the cron service*, as I think that’s probably the hardest thing to containerize and scale well. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I’ll have a look at running this up at some point!<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">*(Kubernetes seems to have a neat approach to cronjobs <a href="https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/" target="_blank">https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/</a>. Julia Evans talks about it at <a href="https://stripe.com/blog/operating-kubernetes" target="_blank">https://stripe.com/blog/operating-kubernetes</a>. However, that would require a Kubernetes-first design, which makes no sense for Koha.)<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">David Cook<u></u><u></u></p><p class="MsoNormal">Software Engineer<u></u><u></u></p><p class="MsoNormal">Prosentient Systems<u></u><u></u></p><p class="MsoNormal">72/330 Wattle St<u></u><u></u></p><p class="MsoNormal">Ultimo, NSW 2007<u></u><u></u></p><p class="MsoNormal">Australia<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Office: 02 9212 0899<u></u><u></u></p><p class="MsoNormal">Online: 02 8005 0595<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Koha-devel <<a href="mailto:koha-devel-bounces@lists.koha-community.org" target="_blank">koha-devel-bounces@lists.koha-community.org</a>> <b>On Behalf Of </b>Tomás<br><b>Sent:</b> Friday, 12 June 2020 11:57 AM<br><b>To:</b> koha-devel <<a href="mailto:koha-devel@lists.koha-community.org" target="_blank">koha-devel@lists.koha-community.org</a>><br><b>Subject:</b> [Koha-devel] Deploying Koha at scale<u></u><u></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Hi folks.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Theke Solutions has started a project some time ago, sponsored by ByWater Solutions to generate the tools and pipelines to provide a reliable Docker implementation for deploying Koha in production environments. We have just finished the housekeeping a few days ago so we are not embarrassed by our commit messages and leftovers :-D and want to propose it for community adoption anytime soon.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The project lives here for now: <a href="https://gitlab.com/thekesolutions/koha-docker" target="_blank">https://gitlab.com/thekesolutions/koha-docker</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">What you will find there is a Docker image that can be used to run any of the different Koha services/pieces on separate containers, or all inside a single one. We aimed to target different deployment scenarios, from a small library running it on a desktop computer to a multi-cluster K8s setup. A helm chart is part of the roadmap.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">You will notice there are a couple issues to be addressed [1]. For instance, the shipped docker-compose.yml is outdated regarding the MySQL/MariaDB server and we definitely need more on the README.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks to ByWater for supporting this effort, and now that people are talking about this, let's start the conversation \o/<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">[1] <a href="https://gitlab.com/thekesolutions/koha-docker/-/issues" target="_blank">https://gitlab.com/thekesolutions/koha-docker/-/issues</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">El jue., 11 jun. 2020 a las 4:52, <<a href="mailto:dcook@prosentient.com.au" target="_blank">dcook@prosentient.com.au</a>> escribió:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal" style="margin-bottom:12pt">Hi all,<br><br>For a long time, I've been thinking about how Koha could scale better, and<br>I'm wondering what other people are thinking about this topic. I think Mengu<br>is probably the best expert on this topic that we have on Earth, so<br>especially curious about his input. <br><br>It's relatively easy to add more Apache web servers, more MySQL nodes, and<br>more Elasticsearch nodes. but the same might not be said for other parts of<br>Koha like the following:<br><br>1. Zebra<br>        a. In theory, you could load balance queries to a cluster of Zebra<br>listeners<br>        b. But indexing updates to many Zebra databases could be tricky (I<br>don't know if Zebra's database can support many readers). I suppose you<br>could alter <a href="http://rebuild_zebra.pl" target="_blank">rebuild_zebra.pl</a> to update multiple databases in a variety of<br>different ways. I imagine Mengu could speak to this, as I recall him talking<br>once about needing to do work to make Zebra scale?<br><br>2. I'm not familiar enough with the SIP server to say<br>        a. Off the top of my head, I think a TCP load balancer would be good<br>enough here<br><br>3. Z3950 Responder? <br>        a. I'm not familiar with this daemon<br><br>4. What about cronjobs? Only 1 instance should execute the cronjobs.<br>        a. I suppose a person could disable cronjobs on all Koha nodes<br>except for 1? It wouldn't be very robust in terms of availability but it<br>would technically work most of the time. <br><br>Any other thoughts?<br><br>David Cook<br>Systems Librarian<br>Prosentient Systems<br>72/330 Wattle St<br>Ultimo, NSW 2007<br>Australia<br><br>Office: 02 9212 0899<br>Online: 02 8005 0595<br><br><u></u><u></u></p></blockquote></div><p class="MsoNormal"><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><div><div><div><div><div><div><div><p class="MsoNormal">Tomás Cohen Arazi<u></u><u></u></p></div><div><p class="MsoNormal">Theke Solutions (<a href="http://theke.io" target="_blank">http://theke.io</a>)<br><span style="font-family:"Segoe UI Symbol",sans-serif">✆</span> +54 9351 3513384<br><span style="font-size:9.5pt">GPG: B2F3C15F</span><u></u><u></u></p></div></div></div></div></div></div></div></div></div></div></div></div>_______________________________________________<br>
Koha-devel mailing list<br>
<a href="mailto:Koha-devel@lists.koha-community.org" target="_blank">Koha-devel@lists.koha-community.org</a><br>
<a href="https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" rel="noreferrer" target="_blank">https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a><br>
website : <a href="http://www.koha-community.org/" rel="noreferrer" target="_blank">http://www.koha-community.org/</a><br>
git : <a href="http://git.koha-community.org/" rel="noreferrer" target="_blank">http://git.koha-community.org/</a><br>
bugs : <a href="http://bugs.koha-community.org/" rel="noreferrer" target="_blank">http://bugs.koha-community.org/</a><br>
</blockquote></div>