This procedure describes adding additional Anthos Service Mesh (ASM) gateways to your Apigee hybrid
installation.
Installing additional Anthos Service Mesh gateways
In the ASMoverlay.yamlfile you can add more ingress gateways by
following a similar pattern as the one below. Note that thespec.components[].labelandspec.components[].k8s.service.selectorelements allow you to associate a named ingress gateway with a specific virtual host, as
explained inTargeting 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 hostmilk-vhis directed through
the ingress labeleddairyand traffic to the other two virtual hosts goes through
thevegetablesingress. The ingresses must be properly labeled, as explained inInstalling 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-09-04 UTC."],[[["\u003cp\u003eThis document explains how to add extra Anthos Service Mesh (ASM) gateways to your Apigee hybrid installation, allowing for more complex routing configurations.\u003c/p\u003e\n"],["\u003cp\u003eStarting with Apigee hybrid version 1.8, the Apigee ingress gateway is used, and information on managing multiple Apigee ingress gateways is available.\u003c/p\u003e\n"],["\u003cp\u003eAdditional ingress gateways can be added within the \u003ccode\u003eoverlay.yaml\u003c/code\u003e file by using a similar pattern as shown in the example.\u003c/p\u003e\n"],["\u003cp\u003eYou can associate a named ingress gateway with a specific virtual host using the \u003ccode\u003espec.components[].label\u003c/code\u003e and \u003ccode\u003espec.components[].k8s.service.selector\u003c/code\u003e elements.\u003c/p\u003e\n"],["\u003cp\u003eA labeled ASM/Istio ingress gateway can be targeted to a specific virtual host in your overrides file, as demonstrated by the example configuration directing traffic through different ingresses based on the virtual host.\u003c/p\u003e\n"]]],[],null,["# Adding multiple ingress gateways to customer-installed Anthos Service Mesh\n\n| You are currently viewing version 1.11 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.11/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```"]]