-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
The Kubernetes backend is not compatible with GKE (Google Kubernetes Engine).
Rationale for wanting this:
- Very cost-effective and auto-scalable GKE backend (less worrying about managing and scaling the clusters)
- Compute/Storage is cost-effective and scalable on Google Cloud
- Having an end-user self-service application (i.e. Zoe) on top of it, makes the apps available for our Data Science teams without them having to worry about access to the kubectl and Google Cloud Console.
Some of the issues I faced:
- Small discrepancy in Kubernetes metrics, causes zoe-master not to start (can be patched by fixing the parsing of the returned kubernetes metrics)
- Endpoint details not visible in execution view
- Leverage the build-in Ingress / LoadBalancer options (I experimented with applying some small changes in the kubernetes backend to get this to work)
- Some form of security is recommended i.c.w. the LoadBalancer option, as it would expose the service directly on an external IP. This is desired for end-user ease of use, but shifts the authorization responsibility to the ZApp.
- Issue with shared workspace disk (GKE is a managed cluster instance of Kubernetes. It is therefore not possible to mount a shared disk at e.g. /mnt/zoe-workspace). Preferred solution would be to mount a Google Storage Bucket (gcp:// ) in combination with a fuse driver. As a workaround, this could be integrated in the docker image/ZApp. However, a more elegant solution would be preferred for this.
Metadata
Metadata
Assignees
Labels
No labels