= What are existing solutions (commercial or open-source) for spinning up Kubernetes cluster on arbitrary infrastructure (AWS, GCE, DO or bare-metal) =

I am exploring solution that would allow us to distribute our Kubernetes cluster across multiple providers (e.g. based on the cost)

We are running a Kubernetes cluster that approximately uses 3000 vCPUs. All pods are short-lived worker-nodes, that listen for job from a central queue of data processing tasks. We are currently using GCP preemptive nodes to support 90% of the required computing power (falling back to regular nodes). I am exploring solutions that would allow me to "shift" pods to another cluster (on different cloud/ bare-metal provider) when we are not able to secure the required resource from GCP

e.g. Is there a PaaS that I could provide my AWS/ GCP credentials to (we have AWS/ GCP/ DO credits; therefore abstraction that use their own provider's account does not work) and it would set up and manage a Kubernetes cluster across nodes belonging to both cloud providers?

You might check out Rancher or any similar solutions like kubermatic from loodse. These Tools abstract the „install-a-Cluster-on-a-cloud-provider“ and provide support for underlying iaas platforms like aws, gcp, do or vsphere. Additionally these tools have some quite nice features like templating, log aggregation or an application catalog to install apps like ingress Controllers or s.th. else.

Rancher +1 BTW, you can even use rancher as platform to build your own PaaS:
rancher/norman is a framework to help you build CRD based controller/operator, as well as rancher/api-spec compatible server
rancher/api-spec is a enhanced version of RESTful API, with auto generated UI for debuging, if u already have a CRDs you can easily make a integration, for example refunc/refunc-rancher is our thin wrapper for refunc/refunc
rancher/ui is based on emberjs, which make it easy to extend, for example refunc/rancher-ui using Ember Engines to create our custom UI for refunc/refunc by simply replacing the generated static files
httpsgithub.com/gardener could be interesting for you. It allows you to create and manage k8s clusters across several IaaS providers

The Kubernetes docs have a pretty good list: httpskubernetes.io/docs/setup/pick-right-solution/

Off the top of my head, I think that Rancher, Gardener, Kublr, and a few others offer the ability to run Kubernetes on multiple cloud providers. Or there are a variety of linked guides on how you could deploy and manage them on your own

Or you could just create Kubernetes clusters in AWS and GCP using their guides, set them up to auto-scale, and have a management layer that controls which clusters you run your workloads on. Options galore!
We have an open source and free developer version - which supports 6 cloud providers and on-prem as well. You can give it a test ride here: httpsbeta.banzaicloud.io/ and check the code at httpsgithub.com/banzaicloud/pipeline
httpswww.ibm.com/cloud/multicloud-manager
Multicloud management is the ability to effectively manage multiple data centers or cloud environments (public or private), as if they were a single environment. The average enterprise uses six or moreand hundreds of clusters, which can lead to a complex environment and present imminent or future problems. Scattered workloads, security gaps and limited visibility on development teams’ output are several operational issues that have been difficult to manage collectively

Register and deploy Kubernetes clusters wherever they’re running. Switch easily between cloud providers and connect public and private

Disclosure: I'm an IBMer and happy to help answer any follow-up questions about MCM or IBM Cloud Private
What you are asking for doesn't exist. There is no multi cloud container orchestrator

There's no off the shelf solution that will spin up compute across cloud providers and schedule your containers based on cost

I can't imagine how that would even work except for stateless apps. My experience is that stateless apps aren't the default and are something you work towards and you move state elsewhere, usually somewhere close

You're on the cheapest cloud already (GCP)

What exactly is the issue? Is GCP really not able to satisfy the number of nodes you require?
Scheduling nodes on another cloud seems like a lot of effort and custom development for zero gain

OP isn't explicitly asking for a single cross cloud cluster

I am exploring solutions that would allow me to "shift" pods to another cluster (on different cloud/ bare-metal provider) when we are not able to secure the required resource from GCP

They are saying they want multiple clusters across providers which can all consume work from the same queue

OP check out kops (and to some extent kubicorn) which allow you to stand up clusters on arbitrary cloud providers. Of course k8s moves fast. Those tools are the past and present, the cluster-api is the future


Hi there in full transparency I work at www.containership.io but we just released our autoscaling product www.github.com/containership/cerebral which will allow you to scale your cluster up and down based on usage. And while we currently aren’t able to scale across providers, we do allow you to spin up multiple clusters from one centralized location and provide a UI to easily manage your nodes and resources

== About Community ==
Kubernauts
Online