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 documentation applies to Apigee hybrid version 1.8, which is now end-of-life and requires an upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eThis guide explains how to add multiple Anthos Service Mesh (ASM) ingress gateways to an Apigee hybrid installation, in addition to the Apigee ingress gateway that was introduced in Apigee hybrid version 1.8.\u003c/p\u003e\n"],["\u003cp\u003eAdditional ingress gateways can be added in the \u003ccode\u003eoverlay.yaml\u003c/code\u003e file, associating each with a specific virtual host via the \u003ccode\u003elabel\u003c/code\u003e and \u003ccode\u003eselector\u003c/code\u003e elements.\u003c/p\u003e\n"],["\u003cp\u003eYou can target specific ASM/Istio ingress gateways to handle traffic for particular virtual hosts by configuring the \u003ccode\u003eselector\u003c/code\u003e in the overrides file, directing traffic accordingly.\u003c/p\u003e\n"]]],[],null,["# Adding multiple ingress gateways to customer-installed Anthos Service Mesh\n\n| You are currently viewing version 1.8 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.8/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```\napiVersion: install.istio.io/v1alpha1\nkind: IstioOperator\nspec:\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\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```"]]