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.Syntax
ingressGateways: - name: INGRESS_NAME replicaCountMin: REPLICAS_MIN replicaCountMax: REPLICAS_MAX resources: requests: cpu: CPU_COUNT_REQ memory: MEMORY_REQ limits: cpu: CPU_COUNT_LIMIT memory: MEMORY_LIMIT svcAnnotations: # optional. See Known issue 243599452. SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional
Example
ingressGateways: - name: prod1 replicaCountMin: 2 replicaCountMax: 100 resources: requests: cpu: 1 memory: 1Gi limits: cpu: 2 memory: 2Gi svcAnnotations: # optional. See Known issue 243599452. networking.gke.io/load-balancer-type: "Internal" svcLoadBalancerIP: 198.252.0.123
- INGRESS_NAME is the name of the ingress deployment. This can be any name
that meets the following requirements:
- Have a maximum length of 17 characters
- Contain only lowercase alphanumeric characters, '-' or '.'
- Start with an alphanumeric character
- End with an alphanumeric character
ingressGateways[].name
in the Configuration property reference. - 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
andingressGateways[].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.
For more information and default settings, see
ingressGateways[].resources.requests.cpu
andingressGateways[].resources.requests.memory
in the Configuration property reference. - CPU_COUNT_LIMIT and MEMORY_LIMIT Are the maximum CPU and memory limits for
each replica of Apigee ingress gateway in your installation.
For more information and default settings, see
ingressGateways[].resources.limits.cpu
andingressGateways[].resources.limits.memory
in the Configuration property reference. - SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (optional):
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:
ingressGateways: svcAnnotations: networking.gke.io/load-balancer-type: "Internal"
Annotations vary from platform to platform. Refer to your platform documentation for required and suggested annotations.
SeeingressGateways[].svcAnnotations
in the Configuration property reference. - 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.
SeeingressGateways[].svcLoadBalancerIP
in the Configuration property reference.
- INGRESS_NAME is the name of the ingress deployment. This can be any name
that meets the following requirements:
- Apply the changes to install Apigee ingress gateway with the following commands:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
Switch traffic to Apigee ingress gateway
To migrate traffic from Anthos Service Mesh to Apigee ingress gateway follow the steps in Switch traffic from Anthos Service Mesh to Apigee ingress gateway in the Upgrading to Apigee Hybrid v1.8 topic.