GoogleCloudPlatform / cloud-run-release-manager

[EXPERIMENTAL] Automated canary rollout tool for Cloud Run services.
Apache License 2.0
128 stars 10 forks source link

Support for Cloud Run for Anthos #96

Open gvso opened 4 years ago

gvso commented 4 years ago

This is related to #78 but simpler to do since we already have most of the basics. Let's add support for Knative running on Cloud Run for Anthos to cover all the Cloud Run cases

ahmetb commented 4 years ago

Based on our discussion today: the easiest way to do this will be not use k8s.io/client-go and github.com/knative/serving/pkg/apis/serving/v1 package at all. With that, we need to have a KUBECONFIG file (or construct it in-memory) which complicates the configuration surface quite a bit.

If all we want to support is GKE, we can:

The only downsides I see are that:

gvso commented 4 years ago

Thinking of the configuration from the user perspective:

./cloud_run_release_manager -platform=gke  [-clusters=<MY_CLUSTER1>,<MY_CLUSTER2>] [-cluster-locations=us-central1-a,us-central1-b] [-namespaces=default] [-project=<PROJECT_ID>]

platform is by default managed. We could add support for managing services in CRFM and CRfA at the same time later

For the first implementation of this, we might want to make the optional arguments required. Maybe support a single cluster only

ahmetb commented 4 years ago

For the first implementation of this, we might want to make the optional arguments required. Maybe support a single cluster only

I think that'll be the case forever, by design. The tool should manage (1) either FM or CRFA, not both simultaneously, (2) only one cluster at a time.