---
id: "google-gke-multi-cloud"
type: "component"
kind: "container-orchestrator"
provider: "gcp"
category: "compute"
aliases: "Anthos Multi-Cloud"
docs: "https://cloud.google.com/kubernetes-engine/multi-cloud/docs"
url: "https://localhost:3000/catalogue/components/google-gke-multi-cloud"
---

# GKE Multi-Cloud

Google-managed Kubernetes clusters running in AWS or Azure, plus attached clusters.

| | |
|---|---|
| Provider | [gcp](https://localhost:3000/catalogue?provider=gcp) |
| Kind | [Container orchestrator](https://localhost:3000/catalogue/kinds/container-orchestrator) |
| Category | Compute |
| Official docs | [https://cloud.google.com/kubernetes-engine/multi-cloud/docs](https://cloud.google.com/kubernetes-engine/multi-cloud/docs) |
| Also known as | Anthos Multi-Cloud |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `autoscaling` | boolean | — | no | false | inherited |
| `connectGateway` | boolean | — | no | true | inherited |
| `controlPlaneReplicas` | integer | — | no | 3 | inherited |
| `managed` | boolean | — | no | false | **true** |
| `networkPolicy` | boolean | — | no | — | inherited |
| `nodeCount` | integer | — | no | — | inherited |
| `platform` | enum | `aws`, `azure`, `attached` | no | — | inherited |
| `privateControlPlane` | boolean | — | no | — | inherited |
| `rbac` | boolean | — | no | — | inherited |
| `version` | string | — | no | — | inherited |

Bold values are the ones this component pins.

## Rules that apply · 1

### Stateful node without zone redundancy `stateful-node-without-zone-redundancy` (error)

- Page: https://localhost:3000/catalogue/rules/stateful-node-without-zone-redundancy.md
- Why: A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- Applies to: every node in category compute
- Message: Stateful node '{{node.id}}' lives in exactly one availability zone. A zone outage takes its state with it.

It fires when:

- all of these hold:
  - the node's `stateless` is false
  - the node sits inside exactly 1 availability-zone group
  - this does not hold:
    - the node sits inside at least one cell group

## Other products of the same kind · 35

- [Container Service for Kubernetes](https://localhost:3000/catalogue/components/alibaba-ack.md) `alibaba-ack` — alibabacloud
- [Amazon Elastic Container Service](https://localhost:3000/catalogue/components/aws-ecs.md) `aws-ecs` — aws
- [Amazon Elastic Kubernetes Service](https://localhost:3000/catalogue/components/aws-eks.md) `aws-eks` — aws
- [Red Hat OpenShift Service on AWS](https://localhost:3000/catalogue/components/aws-rosa.md) `aws-rosa` — aws
- [Azure Kubernetes Service](https://localhost:3000/catalogue/components/azure-aks.md) `azure-aks` — azure
- [Azure Kubernetes Fleet Manager](https://localhost:3000/catalogue/components/azure-kubernetes-fleet-manager.md) `azure-kubernetes-fleet-manager` — azure
- [Azure Red Hat OpenShift](https://localhost:3000/catalogue/components/azure-red-hat-openshift.md) `azure-red-hat-openshift` — azure
- [Azure Service Fabric](https://localhost:3000/catalogue/components/azure-service-fabric.md) `azure-service-fabric` — azure
- [Cloudflare Containers](https://localhost:3000/catalogue/components/cloudflare-containers.md) `cloudflare-containers` — cloudflare
- [Generic container orchestrator](https://localhost:3000/catalogue/components/container-orchestrator.md) `container-orchestrator` — default
- [CoreWeave](https://localhost:3000/catalogue/components/coreweave.md) `coreweave` — default
- [Docker Swarm](https://localhost:3000/catalogue/components/docker-swarm.md) `docker-swarm` — default
- [k0s](https://localhost:3000/catalogue/components/k0s.md) `k0s` — default
- [K3s](https://localhost:3000/catalogue/components/k3s.md) `k3s` — default
- [Karmada](https://localhost:3000/catalogue/components/karmada.md) `karmada` — default
- [Kubernetes](https://localhost:3000/catalogue/components/kubernetes.md) `kubernetes` — default
- [MicroK8s](https://localhost:3000/catalogue/components/microk8s.md) `microk8s` — default
- [HashiCorp Nomad](https://localhost:3000/catalogue/components/nomad.md) `nomad` — default
- [Red Hat OpenShift](https://localhost:3000/catalogue/components/openshift.md) `openshift` — default
- [Rancher](https://localhost:3000/catalogue/components/rancher.md) `rancher` — default
- [DigitalOcean Kubernetes](https://localhost:3000/catalogue/components/digitalocean-kubernetes.md) `digitalocean-kubernetes` — digitalocean
- [Google Distributed Cloud (software only) for bare metal](https://localhost:3000/catalogue/components/google-distributed-cloud-bare-metal.md) `google-distributed-cloud-bare-metal` — gcp
- [Google Distributed Cloud (software only) for VMware](https://localhost:3000/catalogue/components/google-distributed-cloud-vmware.md) `google-distributed-cloud-vmware` — gcp
- [Google Kubernetes Engine](https://localhost:3000/catalogue/components/google-gke.md) `google-gke` — gcp
- [GKE Autopilot](https://localhost:3000/catalogue/components/google-gke-autopilot.md) `google-gke-autopilot` — gcp
- [GKE Enterprise fleet](https://localhost:3000/catalogue/components/google-gke-enterprise.md) `google-gke-enterprise` — gcp
- [Cluster Services for OpenShift](https://localhost:3000/catalogue/components/google-openshift-cluster-services.md) `google-openshift-cluster-services` — gcp
- [IBM Cloud Kubernetes Service](https://localhost:3000/catalogue/components/ibm-kubernetes-service.md) `ibm-kubernetes-service` — ibm
- [Red Hat OpenShift on IBM Cloud](https://localhost:3000/catalogue/components/ibm-openshift.md) `ibm-openshift` — ibm
- [IBM Cloud Satellite](https://localhost:3000/catalogue/components/ibm-satellite.md) `ibm-satellite` — ibm
- [OCI Kubernetes Engine](https://localhost:3000/catalogue/components/oci-kubernetes-engine.md) `oci-kubernetes-engine` — oci
- [OKE Virtual Node Pool](https://localhost:3000/catalogue/components/oci-oke-virtual-node-pool.md) `oci-oke-virtual-node-pool` — oci
- [OpenStack Magnum](https://localhost:3000/catalogue/components/openstack-magnum.md) `openstack-magnum` — openstack
- [OpenStack Zun](https://localhost:3000/catalogue/components/openstack-zun.md) `openstack-zun` — openstack
- [OUTSCALE Kubernetes as a Service](https://localhost:3000/catalogue/components/outscale-oks.md) `outscale-oks` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "google-gke-multi-cloud", component: "google-gke-multi-cloud" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# GKE Multi-Cloud: Kubernetes clusters created in AWS or Azure whose control plane runs in the
# customer's own cloud account as a Google-managed service, plus attached clusters for any
# CNCF-conformant cluster ("GKE Multi-Cloud documentation"). The control plane runs three replicas
# for high availability and is administered from the Google Cloud console through the Connect gateway.
schemaVersion: "1"
type: "component"
id: "google-gke-multi-cloud"
kind: "container-orchestrator"
provider: "gcp"
docs: "https://cloud.google.com/kubernetes-engine/multi-cloud/docs"
aliases: ["Anthos Multi-Cloud"]
defaults:
  managed: true
properties:
  platform:
    type: "enum"
    values: ["aws", "azure", "attached"]
  controlPlaneReplicas:
    type: "integer"
    default: 3
  connectGateway:
    type: "boolean"
    default: true
```

Human page: https://localhost:3000/catalogue/components/google-gke-multi-cloud
