-
Notifications
You must be signed in to change notification settings - Fork 573
standardize all k8s vanilla deployment #772
standardize all k8s vanilla deployment #772
Conversation
Codecov Report
@@ Coverage Diff @@
## master #772 +/- ##
===========================================
- Coverage 62.55% 62.5% -0.06%
Complexity 551 551
===========================================
Files 47 47
Lines 3456 3456
Branches 297 297
===========================================
- Hits 2162 2160 -2
- Misses 1101 1103 +2
Partials 193 193 |
The PR is finally ready to be merged. IMO, it is just working fine like that but if you have a way to try to reproduce #631 I can try but in both Minikube and Minishift, I can see the dashboard and the videos without setting any security context. |
Hi @arnaud-deprez, Thanks for taking the time to put this together. In general, this looks good to me as it simplifies the docs and maintenance. I just wonder if it makes sense to put the command examples you posted above to start in OpenShift and k8s. Also, if everyone is using helm now... I don't have a k8s cluster to try by the way. What do you think @pearj? |
Hi @diemol, This is indeed the same command for Kubernetes and Openshift, so I don't plan different documentation for this. As I said too, it works fine without that I hope it is now clearer for you guys :-) |
Ah ok, thanks, get it. Let's wait for @pearj's opinion. |
Would it make sense to add this to the official helm charts repository? I see there's a chart for selenium grid, but none for zalenium https://github.com/helm/charts/tree/master/stable/selenium |
Hi @rodor87, Indeed, that was part of my initial issue #750. IMO, we have to decide based on the following pros/cons: pros:
cons:
|
@arnaud-deprez Yes, that's what I mean as well. It makes sense to make the change here first, cut a new release and as part of a new PR migrate to the official helm charts |
@arnaud-deprez what are you thoughts on supporting the OpenShift I think the template section of Another thing, that I think would be worthwhile is to move all of the zalenium/docs/k8s/zalenium-template.yaml Lines 133 to 163 in 1b06541
In Lines 3 to 26 in 7ad0979
Another thing that I think is work keeping from the openshift template is using secrets for the grid username and password. Then inject the secret into the environment variable. zalenium/docs/k8s/zalenium-template.yaml Lines 142 to 151 in 1b06541
See: https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets-as-environment-variables |
Hi @pearj, thank you for your feedback. I fully agree with you for the environment variables vs args and the secret. For Openshift deployment vs Kubernetes point, my point was to avoid vendor locking and so support Kubernetes deployment first.
I'll see what I can do and come with a new proposal, but I'm also quite busy right now. If in the meantime you see other adaptation, please shoot. |
This also improve: - add optional securityContext for non openshift cluster - use fine grained role
Hi, Please find the requested changes. Remarks
Cheers, |
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.
Thanks for making these changes, I'll get it merged to a branch where we can run the full travis suite.
Actually I noticed it already used helm in travis, I'll just merge it. |
Thank you :-) |
Actually, thank you @arnaud-deprez for your time and putting this PR together! |
Description
The purpose of this PR is to fix #750 by using Helm template for all kubernetes vanilla deployments.
Helm has become the standard package manager running atop Kubernetes and so it seems reasonable to support only that type of deployment.
Helm 2.x
typically uses a server side component called tiller which is responsible to create your Kubernetes objects and so it does not use the RBAC configuration set for the user but it uses the one set for tiller (more information on the jenkins-x website)Until
Helm 3
is GA, it is still possible to useHelm 2
withoutTiller
by simply applying the result of the templatehelm template --name zalenium charts/zalenium | kubectl apply -f -
Motivation and Context
There are currently many documented ways to deploy zalenium on vanilla kubernetes resulting in a maintenance overhead.
Moreover some discrepancies between each deployment method have been identified in the issue.
How Has This Been Tested?
helm template --name zalenium --set ingress.enabled=true --set ingress.hostname=hub-zalenium.$(minishift ip).nip.io --set rbac.create=true --set serviceAccount.create=true --set persistence.enabled=true charts/zalenium | kubectl -n myproject apply -f -
helm template --name zalenium --set ingress.enabled=true --set ingress.hostname=hub-zalenium.$(minikube ip).nip.io --set rbac.create=true --set serviceAccount.create=true --set persistence.enabled=true charts/zalenium | kubectl -n zalenium apply -f -
helm template --name zalenium --set ingress.enabled=true --set ingress.hostname=hub-zalenium.$(minikube ip).nip.io --set rbac.create=true --set serviceAccount.create=true --set persistence.enabled=true --set hub.securityContext.enabled=true charts/zalenium | kubectl -n zalenium apply -f -
Types of changes
Checklist: