This procedure describes adding additional Anthos Service Mesh (ASM) gateways to your Apigee hybrid
installation.
Installing additional Anthos Service Mesh gateways
In the ASM overlay.yaml file you can add more ingress gateways by
following a similar pattern as the one below. Note that the
spec.components[].label and spec.components[].k8s.service.selector
elements allow you to associate a named ingress gateway with a specific virtual host, as
explained in Targeting an ingress to a virtual host.
Follow the Anthos Service Mesh documentation for your platform to apply the changes.
Targeting an ASM/istio ingress to a virtual host
You can target a labeled ASM/istio ingress gateway to a specific virtual host in your overrides file.
This configuration specifies the ingress gateway where Apigee will apply the virtual host's configuration. In
the following example, traffic to virtual host milk-vh is directed through
the ingress labeled dairy and traffic to the other two virtual hosts goes through
the vegetables ingress. The ingresses must be properly labeled, as explained in
Installing additional Apigee ingress gateway gateways.
[[["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-29 UTC."],[[["\u003cp\u003eThis document explains how to add more Anthos Service Mesh (ASM) ingress gateways to your Apigee hybrid setup.\u003c/p\u003e\n"],["\u003cp\u003eYou can add additional ingress gateways in the ASM \u003ccode\u003eoverlay.yaml\u003c/code\u003e file, using specific labels and selectors to associate them with virtual hosts.\u003c/p\u003e\n"],["\u003cp\u003eApigee hybrid version 1.8 and later uses the Apigee ingress gateway by default; refer to the documentation for managing multiple Apigee ingress gateways.\u003c/p\u003e\n"],["\u003cp\u003eBy modifying the \u003ccode\u003espec.components[].label\u003c/code\u003e and \u003ccode\u003espec.components[].k8s.service.selector\u003c/code\u003e elements, you can link a named ingress gateway with a specific virtual host.\u003c/p\u003e\n"],["\u003cp\u003eVirtual hosts can be targeted to specific ASM/istio ingress gateways through the \u003ccode\u003eselector\u003c/code\u003e property in the overrides file, allowing traffic to be directed through designated ingresses.\u003c/p\u003e\n"]]],[],null,["# Adding multiple ingress gateways to customer-installed Anthos Service Mesh\n\n| You are currently viewing version 1.9 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nThis procedure describes adding additional Anthos Service Mesh (ASM) gateways to your Apigee hybrid\ninstallation.\n| **Note:** Starting with Apigee hybrid version 1.8, Apigee hybrid uses Apigee ingress gateway to provide an ingress gateway for your hybrid installation. To configure multiple Apigee ingress gateways, see [Managing Apigee ingress gateway](/apigee/docs/hybrid/v1.9/managing-ingress#installing-additional-apigee-ingress-gateway-gateways).\n\nInstalling additional Anthos Service Mesh gateways\n--------------------------------------------------\n\n\nIn the ASM `overlay.yaml` file you can add more ingress gateways by\nfollowing a similar pattern as the one below. Note that the\n`spec.components[].label` and `spec.components[].k8s.service.selector`\nelements allow you to associate a named ingress gateway with a specific virtual host, as\nexplained in [Targeting an ingress to a virtual host](#targetvh). \n\n```\n apiVersion: install.istio.io/v1alpha1\n kind: IstioOperator\n spec:\n profile: asm-gcp\n # hub: gcr.io/gke-release/asm # {\"$ref\":\"#/definitions/io.k8s.cli.setters.anthos.servicemesh.hub\"}\n components:\n ingressGateways:\n - name: istio-ingressgateway-dairy\n enabled: true\n label:\n app: istio-ingressgateway\n ingress_name: dairy\n k8s:\n service:\n selector:\n app: istio-ingressgateway\n ingress_name: dairy\n type: LoadBalancer\n ports:\n - name: status-port\n port: 15021\n - name: http2\n port: 80\n targetPort: 8080\n - name: https\n port: 443\n targetPort: 8443\n hpaSpec:\n minReplicas: 1\n maxReplicas: 10\n - name: istio-ingressgateway-vegetables\n enabled: true\n label:\n app: istio-ingressgateway\n ingress_name: vegetables\n k8s:\n service:\n selector:\n app: istio-ingressgateway\n ingress_name: vegetables\n ports:\n - name: http2\n port: 80\n targetPort: 8080\n - name: status-port\n port: 15020\n - name: https\n port: 443\n targetPort: 8443\n hpaSpec:\n minReplicas: 1\n maxReplicas: 10\n resources:\n requests:\n cpu: 300m\n memory: 128Mi\n \n```\n\n\nFollow the Anthos Service Mesh documentation for your platform to apply the changes.\n\nTargeting an ASM/istio ingress to a virtual host\n------------------------------------------------\n\nYou can target a labeled ASM/istio ingress gateway to a specific virtual host in your overrides file.\nThis configuration specifies the ingress gateway where Apigee will apply the virtual host's configuration. In\nthe following example, traffic to virtual host `milk-vh` is directed through\nthe ingress labeled `dairy` and traffic to the other two virtual hosts goes through\nthe `vegetables` ingress. The ingresses must be properly labeled, as explained in\n[Installing additional Apigee ingress gateway gateways](#installing).\n\n\n```\nvirtualhosts:\n - name: milk-vh\n sslCertPath: cert-milk.crt\n sslKeyPath: cert-milk.key\n selector:\n app: istio-ingressgateway\n ingress_name: dairy\n \n - name: carrots-vh\n sslCertPath: cert-carrots.crt\n sslKeyPath: cert-carrots.key\n selector:\n app: istio-ingressgateway\n ingress_name: vegetables\n \n - name: ginger-vh\n sslCertPath: cert-ginger.crt\n sslKeyPath: cert-ginger.key\n selector:\n app: apigee-ingressgateway\n ingress_name: vegetables\n \n```"]]