Enable Cloud Run on GKE cluster creation

Problem to solve

Cloud Run provides a great way to provision Knative-ready clusters. Currently, I cannot create a Cloud Run-enabled cluster via GitLab's GKE cluster creation process.

Intended users

Further details

Proposal

When creating a cluster via GKE on GitLab, provide a checkbox to enable Cloud Run

Enable Cloud Run on GKE (beta - automatically enables Istio)

When a user creates a cloud run cluster, Knative will show a disabled Installed button. Users will not be able to uninstall Knative, which we will document.

Knative will read Knative installed via [Cloud Run](https://cloud.google.com/run/)

img

Permissions and Security

Documentation

  1. Must document the fact that you will not be able to install Knative from GitLab-Managed-Apps if you have a Cloud-Run enabled cluster. You will not be able to reverse using cloud-run. Knative will display as installed and cannot be changed.

What does success look like, and how can we measure that?

Links / references

  1. Create cluster docs https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.zones.clusters/create
  2. Add-ons config docs https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#Cluster.AddonsConfig
  3. Outbound network access and Istio sidecar injection https://cloud.google.com/run/docs/gke/setup#outbound_network_access_and_istio_sidecar_injection
Edited by Taurie Davis