Use this procedure to migrate existing Apigee hybrid v1.8 installations from using
Anthos Service Mesh for ingress to using Apigee ingress gateway.
Apigee ingress gateway in Apigee hybrid version 1.8
Starting in version 1.8, Apigee hybrid offers a new feature to manage the ingress gateway for
your hybrid installation, Apigee ingress gateway. Anthos Service Mesh is no longer a
prerequisite for hybrid installation and Apigee will stop supplying routing configuration to
Anthos Service Mesh. After the upgrade, you have to migrate the traffic to the new Apigee ingress gateway
gateway.
Two scenarios for migrating are:
Multi-cluster or multi-region migration (recommended):
Before switching to a new Ingress for Apigee, drain all the traffic to another cluster or
region from the cluster you are migrating. This will give you time to test if the new
Apigee ingress gateway gateway is working as expected. Then shift the traffic back to the upgraded
cluster.
In-place upgrade (not recommended in production environments):
During the upgrade Apigee will bring up the new ingress gateway with a new IP address.
You can then test if the new Apigee ingress gateway gateway is working as expected, and then shift
traffic to the new ingress. There might be downtime during this upgrade.
Install Apigee ingress gateway
To install Apigee ingress gateway, you need to add the
ingressGateways property to your overrides file.
REPLICAS_MIN and REPLICAS_MAX are the minimum and maximum replica counts for
Apigee ingress gateway in your installation. For more information and default settings, see
ingressGateways[].replicaCountMin
and
ingressGateways[].replicaCountMax
in the Configuration property reference.
CPU_COUNT_REQ and MEMORY_REQ are the CPU and memory request for each
replica of Apigee ingress gateway in your installation.
This is a key-value pair that provides
annotations for your default ingress service. Annotations are used by your cloud platform to
help configure your hybrid installation, for example setting the loadbalancer type to
either internal or external. For example:
SVC_LOAD_BALANCER_IP (optional) Allows you to assign a static IP address for your
load balancer. On platforms that support specifying the load balancer IP address, the load
balancer will be created with this IP address. On platforms that do not allow you to specify the
load balancer IP address, this property is ignored.
If you do not have a static IP address allocated for your load balancer, leave this property
out of your overrides file.
[[["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 provides instructions for migrating Apigee hybrid v1.8 installations from Anthos Service Mesh to the new Apigee ingress gateway, as Anthos Service Mesh is no longer supported.\u003c/p\u003e\n"],["\u003cp\u003eThere are two migration scenarios: a recommended multi-cluster/multi-region migration where traffic is temporarily shifted to another cluster or region for testing, and an in-place upgrade which is not advised for production.\u003c/p\u003e\n"],["\u003cp\u003eInstalling the Apigee ingress gateway involves adding the \u003ccode\u003eingressGateways\u003c/code\u003e property to the overrides file, specifying parameters like replica counts, resource limits, and optional service annotations or a static load balancer IP.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eingressGateways\u003c/code\u003e property configuration includes several fields such as \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003ereplicaCountMin\u003c/code\u003e, \u003ccode\u003ereplicaCountMax\u003c/code\u003e, \u003ccode\u003eresources\u003c/code\u003e, \u003ccode\u003esvcAnnotations\u003c/code\u003e, and \u003ccode\u003esvcLoadBalancerIP\u003c/code\u003e, each with specific requirements and optionality to set.\u003c/p\u003e\n"],["\u003cp\u003eOnce the Apigee ingress gateway is installed via overrides file and command line, traffic can be migrated from Anthos Service Mesh by following the specific steps outlined in the document section "Switch traffic from Anthos Service Mesh to Apigee ingress gateway".\u003c/p\u003e\n"]]],[],null,["# Migrating to Apigee Ingress gateway\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\nUse this procedure to migrate existing Apigee hybrid v1.8 installations from using\nAnthos Service Mesh for ingress to using Apigee ingress gateway.\n\nApigee ingress gateway in Apigee hybrid version 1.8\n---------------------------------------------------\n\n\nStarting in version 1.8, Apigee hybrid offers a new feature to manage the ingress gateway for\nyour hybrid installation, *Apigee ingress gateway*. Anthos Service Mesh is no longer a\nprerequisite for hybrid installation and Apigee will stop supplying routing configuration to\nAnthos Service Mesh. After the upgrade, you have to migrate the traffic to the new Apigee ingress gateway\ngateway.\n\n\nTwo scenarios for migrating are:\n\n- **Multi-cluster or multi-region migration** (recommended):\n\n Before switching to a new Ingress for Apigee, drain all the traffic to another cluster or\n region from the cluster you are migrating. This will give you time to test if the new\n Apigee ingress gateway gateway is working as expected. Then shift the traffic back to the upgraded\n cluster.\n- **In-place upgrade** (not recommended in production environments):\n\n During the upgrade Apigee will bring up the new ingress gateway with a new IP address.\n You can then test if the new Apigee ingress gateway gateway is working as expected, and then shift\n traffic to the new ingress. There might be downtime during this upgrade.\n\nInstall Apigee ingress gateway\n------------------------------\n\n1. To install Apigee ingress gateway, you need to add the [`ingressGateways`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways) property to your overrides file.\n\n ### Syntax\n\n ```\n ingressGateways:\n - name: INGRESS_NAME\n replicaCountMin: REPLICAS_MIN\n replicaCountMax: REPLICAS_MAX\n resources:\n requests:\n cpu: CPU_COUNT_REQ\n memory: MEMORY_REQ\n limits:\n cpu: CPU_COUNT_LIMIT\n memory: MEMORY_LIMIT\n svcAnnotations: # optional.\n SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE\n svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional\n ```\n\n ### Example\n\n ```\n ingressGateways:\n - name: prod1\n replicaCountMin: 2\n replicaCountMax: 100\n resources:\n requests:\n cpu: 1\n memory: 1Gi\n limits:\n cpu: 2\n memory: 2Gi\n svcAnnotations: # optional. See Known issue 243599452.\n networking.gke.io/load-balancer-type: \"Internal\"\n svcLoadBalancerIP: 198.252.0.123 \n ```\n - \u003cvar translate=\"no\"\u003eINGRESS_NAME\u003c/var\u003e is the name of the ingress deployment. This can be any name that meets the following requirements:\n - Have a maximum length of 17 characters\n - Contain only lowercase alphanumeric characters, '-' or '.'\n - Start with an alphanumeric character\n - End with an alphanumeric character\n\n See [`ingressGateways[].name`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-name) in the Configuration property reference.\n - \u003cvar translate=\"no\"\u003eREPLICAS_MIN\u003c/var\u003e and \u003cvar translate=\"no\"\u003eREPLICAS_MAX\u003c/var\u003e are the minimum and maximum replica counts for Apigee ingress gateway in your installation. For more information and default settings, see [`ingressGateways[].replicaCountMin`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-replicacountmin) and [`ingressGateways[].replicaCountMax`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-replicacountmax) in the Configuration property reference.\n - \u003cvar translate=\"no\"\u003eCPU_COUNT_REQ\u003c/var\u003e and \u003cvar translate=\"no\"\u003eMEMORY_REQ\u003c/var\u003e are the CPU and memory request for each replica of Apigee ingress gateway in your installation. Set these properties if you have previously set them for your Anthos Service Mesh ingress gateway, for example in your `overlay.yaml` file.\n\n\n For more information and default settings, see\n [`ingressGateways[].resources.requests.cpu`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-resources-requests-cpu)\n and\n [`ingressGateways[].resources.requests.memory`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-resources-requests-memory)\n in the Configuration property reference.\n - \u003cvar translate=\"no\"\u003eCPU_COUNT_LIMIT\u003c/var\u003e and \u003cvar translate=\"no\"\u003eMEMORY_LIMIT\u003c/var\u003e Are the maximum CPU and memory limits for each replica of Apigee ingress gateway in your installation. Set these properties if you have previously set them for your Anthos Service Mesh ingress gateway, for example in your `overlay.yaml` file.\n\n\n For more information and default settings, see\n [`ingressGateways[].resources.limits.cpu`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-resources-limits-cpu)\n and\n [`ingressGateways[].resources.limits.memory`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-resources-limits-memory)\n in the Configuration property reference.\n - \u003cvar translate=\"no\"\u003eSVC_ANNOTATIONS_KEY\u003c/var\u003e \u003cvar translate=\"no\"\u003eSVC_ANNOTATIONS_VALUE\u003c/var\u003e (optional): **Note:** The `ingressGateways[].svcAnnotations` field in `overrides.yaml` is not working as expected. See [Known issue 243599452](/apigee/docs/release/known-issues#243599452)\n\n\n This is a key-value pair that provides\n annotations for your default ingress service. Annotations are used by your cloud platform to\n help configure your hybrid installation, for example setting the loadbalancer type to\n either internal or external. For example: \n\n ```\n ingressGateways:\n svcAnnotations:\n networking.gke.io/load-balancer-type: \"Internal\"\n ```\n\n Annotations vary from platform to platform. Refer to your platform\n documentation for required and suggested annotations.\n | **Note:** You do not need to set `Annotations` if you are creating your own Kubernetes service for ingress deployment as documented in [Expose Apigee ingress gateway](/apigee/docs/hybrid/v1.8/install-expose-apigee-ingress).\n See [`ingressGateways[].svcAnnotations`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-svcannotations) in the Configuration property reference.\n - \u003cvar translate=\"no\"\u003eSVC_LOAD_BALANCER_IP\u003c/var\u003e (optional) Allows you to assign a static IP address for your load balancer. On platforms that support specifying the load balancer IP address, the load balancer will be created with this IP address. On platforms that do not allow you to specify the load balancer IP address, this property is ignored.\n\n If you do not have a static IP address allocated for your load balancer, leave this property\n out of your overrides file.\n | **Caution:** Make sure not to specify the same IP address as the current istio-ingressgateway. This could cause problems while that service is still on the cluster.\n | **Note:** You do not need to set `LoadBalancerIP` if you are creating your own Kubernetes service for ingress deployment as documented in [Expose Apigee ingress gateway](/apigee/docs/hybrid/v1.8/install-expose-apigee-ingress).\n See [`ingressGateways[].svcLoadBalancerIP`](/apigee/docs/hybrid/v1.8/config-prop-ref#ingressgateways-svcloadbalancerip) in the Configuration property reference.\n2. Apply the changes to install Apigee ingress gateway with the following commands: \n\n ```\n $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml\n ```\n\nSwitch traffic to Apigee ingress gateway\n----------------------------------------\n\n\nTo migrate traffic from Anthos Service Mesh to Apigee ingress gateway follow the steps in\n[Switch traffic from Anthos Service Mesh to Apigee ingress gateway](/apigee/docs/hybrid/v1.8/upgrade#switch-to-ingress)\nin the Upgrading to Apigee Hybrid v1.8 topic."]]