You must ensure that you have adequate permissions in your Google Cloud project
to meet the installation requirements for your cluster,
fleet, and Cloud Service Mesh:
If you have the Owner role for
the Google Cloud project, then you have more than the necessary permissions to
create clusters, install, and then configure Knative serving.
To learn how to register your cluster and enable Workload Identity Federation for GKE in
your fleet, see
Registering a cluster. Supported cluster types outside Google Cloud are registered by default.
Cloud Service Mesh requires that your cluster use a machine type with at
least 4 vCPUs, such as e2-standard-4. See the Cloud Service Mesh
installation guide for details about requirements. If you need to change
your existing cluster's machine type, see
Migrating workloads to different machine types.
In order to benefit from the automated provisioning of test domains -
Cloud Service Mesh uses an ingress gateway and a service named istio-ingress
in namespace istio-system. To enable creation of the gateway during
the feature installation use --option legacy-default-ingressgateway
of asmcli installation script.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Prerequisites for clusters outside Google Cloud\n\nBefore you install Knative serving in your cluster outside Google Cloud, you\nmust first ensure that you meet the following requirements:\n\n- Review and understand the\n [access permissions of components in Knative serving](/kubernetes-engine/enterprise/knative-serving/docs/install/permissions).\n\n- You must ensure that you have adequate permissions in your Google Cloud project\n to meet the installation requirements for your cluster,\n fleet, and Cloud Service Mesh:\n\n - If you have the [*Owner*](/iam/docs/understanding-roles#basic) role for the Google Cloud project, then you have more than the necessary permissions to create clusters, install, and then configure Knative serving.\n - Your GKE clusters outside of Google Cloud might also require other permissions. [See the documentation and requirements for your cluster](/anthos/clusters/docs).\n - Note that the\n [Cloud Service Mesh permissions requirements](/service-mesh/v1.18/docs/installation-permissions)\n also meet all the permission requirements for installing and configuring\n Knative serving.\n\n - Using other roles and the minimum requirements:\n\n Depending on your organization, you can also meet the permission\n requirements through a combination of the following predefined roles:\n - Google Cloud project permissions: [Basic *Editor* role](/iam/docs/understanding-roles#basic)\n\n - Fleet permissions:\n [*GKE Hub Admin*](/iam/docs/understanding-roles#gke-hub-roles)\n or a role that includes the following permissions:\n\n - `gkehub.features.create`\n - `gkehub.features.update`\n - Cluster permissions:\n [A Kubernetes Engine Admin Role](/iam/docs/understanding-roles#kubernetes-engine-roles):\n\n - *Kubernetes Engine Admin*\n - *Kubernetes Engine Cluster Admin*\n- A cluster with the following configuration is required:\n\n - A supported\n\n [Google Distributed Cloud cluster](/anthos/clusters/docs/on-prem).\n For previous installations on Google Distributed Cloud clusters, you must\n [migrate Knative serving on VMware to a fleet](/kubernetes-engine/enterprise/knative-serving/docs/install/outside-gcp/upgrade-vmware).\n\n **[Preview](/products#product-launch-stages)** : Other GKE clusters\n environments outside Google Cloud are currently available as a \"*Preview* \".\n [Learn more](/kubernetes-engine/enterprise/knative-serving/docs/install/outside-gcp).\n - Registered to a fleet:\n\n [Go to GKE clusters](https://console.cloud.google.com/kubernetes/list/overview)\n | **Tip:** Workload Identity Federation for GKE allows you to authenticate to Google Cloud services and it's also required by Cloud Service Mesh. Enabling fleet Workload Identity Federation in your cluster during fleet registration can reduce the configuration and deployment time.\n\n To learn how to register your cluster and enable Workload Identity Federation for GKE in\n your fleet, see\n [Registering a cluster](/kubernetes-engine/fleet-management/docs/register/gke). Supported cluster types outside Google Cloud are registered by default.\n - In-cluster [Cloud Service Mesh version 1.18 or later is\n installed](/service-mesh/v1.18/docs/unified-install/install-anthos-service-mesh).\n Additionally, note the following prerequisites:\n\n - The [Google-managed Cloud Service Mesh control plane](/service-mesh/docs/supported-features-mcp) is currently not fully supported by Knative serving. Use the in-cluster control plane instead.\n - Cloud Service Mesh requires that your cluster use a machine type with at least 4 vCPUs, such as `e2-standard-4`. See the Cloud Service Mesh installation guide for details about requirements. If you need to change your existing cluster's machine type, see [Migrating workloads to different machine types](/kubernetes-engine/docs/tutorials/migrating-node-pool).\n - In order to benefit from the automated provisioning of test domains - Cloud Service Mesh uses an ingress gateway and a service named `istio-ingress` in namespace `istio-system`. To enable creation of the gateway during the feature installation use `--option legacy-default-ingressgateway` of `asmcli` installation script.\n- [The command-line environment must be set up](/kubernetes-engine/enterprise/knative-serving/docs/install/outside-gcp/command-line-tools).\n\n- The following APIs must be enabled in your Google Cloud project:\n\n - Google Kubernetes Engine API: Build and manage container-based applications.\n - Cloud Build API: Create and manage builds.\n - Container Registry API: Push and pull images in Container Registry.\n\n [Enable the APIs in the Google Cloud console](https://console.cloud.google.com/start/api?id=container.googleapis.com,containerregistry.googleapis.com,cloudbuild.googleapis.com)"]]