-
Notifications
You must be signed in to change notification settings - Fork 7
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
Discussion: Evaluate geoserver-cloud integration #171
Comments
I work on daily basis with geoserver cloud so I would be happy to have it in geonode-k8s but there are several obstacles to do so:
Some of our customers ask for quotation on developing this but no progress so far. Regarding the use of a cluster of GeoServer, it is possible but you have to put a mechanism to synchronize the configuration between the different GeoServer instances, since you cannot share a configuration folder between them on K8s. One option could be to store the GeoServer configuration into database (there are several community extensions for that); in this case you only have to find how to tell all the instances to update their configuration cache after a change in GeoNode (generally it means deploying somethings like JMX or RabbitMQ). |
@giohappy does geosolution has an idea on how to scale geoserver on kubernetes. By overcomming geonode plugins or by loadbalancing geoserver? |
@mwallschlaeger we're working on it. For the moment the solution will be based on the JMS plugin, which is not perfect but it seems ok. We have planned to develop a different clustering solution in the future but we don't have a timeline yet. |
@mwallschlaeger no deeper experience in clustering/loadbalancing geoserver so far. ATM, the "geonode plugin" for GeoServer is quite opaque to me, but I may have missed the right entry point to dive into. I do know https://github.com/GeoNode/geoserver-geonode-ext/, though, it just provides some binary I have not looked into ACL and geofence, yet, so I cannot forsee, if oauth2 and ACL offer an alternative to standard geofence which might enables geoserver-cloud as an alternative to standard geoserver ... However, it would be very interesting to test out what would be possible with ACL and oauth2. Edit: I tried to find out which plugins are actually needed by GeoNode: The
Each would have to be re-implemented to be able to run in geoserver-cloud. I guess, this would require far more efforts than trying to evaluate how GeoNode could work with ACL and OAuth2. |
For the record: geoserver/geoserver-cloud#475 |
@ridoo some of the extensions are already available in GS Cloud (wps, css) |
@AlexGacon are we able to create a "supported" matrix?
|
To me monitor and control-flow are not mandatory but a nice to have. For monitoring, GS Cloud have metrics endpoint you can use with Prometheus or so (metrics per end-point, not as precise as the monitoring extension). For control-flow, you can easily add new pods if required. We will also work soon on autoscaling. |
@mwallschlaeger @ridoo we are looking for fundings to work on a GS Cloud integration. Is it something which can be arranged on your side? |
Hi, here's a working demo docker compose for geoserver cloud integration https://github.com/groldan/geonode-geoserver-cloud-compose Re the required extensions:
|
@AlexGacon hi sorry for my late reply, I was on holiday. As the |
@groldan thanks for the hint. Will try it out.
@AlexGacon I fear, we cannot arrange funding from our side ATM. |
Good morning all, we are working on an evaluation and development, already advanced, of the integration of GeoNode with GS-Cloud ACL where we will be releasing the first version, today we have it functional but we are doing the last tests. @dgquail @groldan is more than useful and it is working perfectly for us. 💯 We have already separated the Mapstore Client for better scaling and looking at adding the html that is still in the Django/ jinja templates. We are also considering updating the tool versions. I hope that next weeks we will have news to share with you. |
Task Description
As geoserver is basically the only service not scalable in geonode-k8s, there are currently two approaches to make this happen.
One mentioned by Geosolutions, loadbalancing incomming traffic to multiple geoserver instances. The other one would be to use the geoserver-cloud deployment from camptocamp. As far as I understand this can not be integrated directly as it is missing at least the geoserver geonode plugin, which uses geonode to authorize geoserver login attempts. It might be possible to bypass this plugin by configuring geoserver to use oauth2 to authorize users with geonode. Does anybody has experiences or did further evaluation on including ether loadbalancing geoserver or geoserver cloud into geonode or geonode-k8s? @AlexGacon @ridoo
Additional Information
Any additional information or context that may be helpful in completing the task.
The text was updated successfully, but these errors were encountered: