-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[WIP] Add kubernetes manifest files #3911
Conversation
I had to make some minor modifications to a few of the docker images in order to get this to work. I have opened pull requests in those repos to be thorough: |
@eggshell nice, very interesting. Can you please create an issue with label "feature" associated to this PR describing better what this PR does? Also, if feasible, would be cool to think to some integration testing. Something similar to what we do on .travis.yml when starting the docker-compose. |
Codecov Report
@@ Coverage Diff @@
## master #3911 +/- ##
==========================================
- Coverage 54.17% 46.42% -7.76%
==========================================
Files 235 266 +31
Lines 15224 18362 +3138
Branches 2270 2779 +509
==========================================
+ Hits 8248 8524 +276
- Misses 6241 9199 +2958
+ Partials 735 639 -96
Continue to review full report at Codecov.
|
@afabiani thanks for your time! I will work on a writeup and post the issue here once it is submitted. re: integration testing. I haven't personally done a kube deploy in travis, but it seems like Minikube in Travis is the way forward on that. This is nice because I want people to be able to deploy to their local minikube cluster if they don't have PaaS resources, so I'll investigate that further. |
@eggshell This is great! Thanks for opening it. I will definitively have a try with my local minikube. Btw I have just tried to load a common shapefile on your public instance and it fails but we can investigate further when I have it deployed locally. Maybe is it a matter of the resources given to the k8s pod? Again I would move the folder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move the folder under a new one scripts/kubernetes
@francbartoli Thanks for the feedback and functional testing! I debugged some today and fixed the issue with uploading shapefiles where you'd get a 413 from nginx. The problem there was that there was that the kubernetes ingress controller (which sits in front of geonode's static nginx) had its However, shapefile uploading is now hindered by a new error:
Which seems to be tomcat/catalina related. It would seem these are not pulling in environment variables to check where the postgres service actually is, but rather assuming it is living locally, which I definitely want to help work around, but am a little lost on how to fix at the moment. If you have any ideas of where this lingering config might be, let me know! To answer your other question, this is indeed running on an IBM Cloud kubernetes cluster. I do want to make this is as platform-agnostic as possible, so will be testing with other major providers hopefully. And of course, I do want to get this running in minikube so others can play with it without the need to pay money for a hosted cluster. Will also update my commit to reflect your requested filepath change. Thanks again! |
I have added a couple of comments, I don't know why but it seems to be that the variable |
@francbartoli so I went ahead and added the This seems to have propagated out to |
@eggshell I’ll look into this, just to make sure that we are not getting into a false problem: did you test from scratch after the removal of all previous docker volumes? |
b6edce1
to
7f3d50e
Compare
@eggshell I'm currently trying to run the deployment on minikube. I'm assuming the commands to execute are: kubectl apply -f scripts/kubernetes/*.yaml for each yaml file. Is that correct? Does the order matter? Anything else? Thanks for providing some guidance |
@francbartoli Looks like it was a false problem. I had the You have the command to deploy down correctly. The ingress definition in |
@eggshell sweet, that definitively would help! |
@francbartoli @afabiani I opened #3924 as requested. |
@eggshell very nice, good job. Waiting for @francbartoli feedbacks. @olivierdalang might also provide some feedbacks on this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@eggshell at your earliest convenience you can add a k8s docs part and then we can start together to looking at a circleCI setup
@eggshell @francbartoli is this PR finished? Any other request? |
@afabiani I would wait for some docs as we don't have any urgency with this. What do you think? |
@francbartoli sure, absolutely agree. Just wanted to be sure this wasn't stalled. |
@afabiani @francbartoli agree on docs, I am on some planes today but will throw them up asap. a few minor changes will be incoming as well but this should be wrapping up soon. Thank you again for your time! |
This will add a directory in the scripts dir which contains all of the necessary kubernetes manifest files to deploy onto a user's managed kubernetes platform of choice. These have been written to be platform-agnostic, but have not yet been tested for use with Minikube. Documentation will need to be added, but I want to get opinions and have discussions with the geonode community before moving further. I have a running deployment using these configs here: https://eggshell.us-south.containers.appdomain.cloud/ Signed-off-by: Cullen Taylor <[email protected]>
@eggshell did you have time to add some docs? |
Just out of curiosity: What is the current status of this PR? Are these (https://github.com/eggshell/geonode-on-k8s) the mentioned docs? |
@francbartoli I think these types of contributions can be accepted if active maintenance is guaranteed. @eggshell seems to have abandoned this PR so I would be in favour of closing it. |
@giohappy we can close it now and as soon as I have time I will be happy to add: and then volunteer to maintain it |
This will add a directory named deployment which contains all of the
necessary kubernetes manifest files to deploy onto a user's
managed kubernetes platform of choice. These have been written to
be platform-agnostic, but have not yet been tested for use with
Minikube.
Documentation will need to be added, but I want to get opinions
and have discussions with the geonode community before moving
further. I have a running deployment using these configs here:
https://eggshell.us-south.containers.appdomain.cloud/
Signed-off-by: Cullen Taylor [email protected]