How to Configure Static IP Addresses in Apigee Hybrid

At the time this article is being written the instructions given on the following documentation page for configuring a static IP address for the Istio Ingress Gateway has become obsolete with Hybrid v1.3: https://cloud.google.com/apigee/docs/hybrid/v1.3/static-ip

Now, with Hybrid v1.3 the Istio Ingress Gateway IP address needs to be configured with Anthos Service Mesh (ASM) configuration file (istio-operator.yaml). Please find instructions for this below:

1. Reserve a static IP address for the Istio Ingress Load Balancer using gcloud CLI:

STATIC_IP_ADDRESS_NAME="apigee-ingress-loadbalancer"
gcloud compute addresses create $STATIC_IP_ADDRESS_NAME --region $REGION

Reference: https://cloud.google.com/sdk/gcloud/reference/compute/addresses/create

2. Find the static ip address allocated:

gcloud compute addresses list --format json --filter "name=$STATIC_IP_ADDRESS_NAME" --format="get(address)"

export STATIC_IP_ADDRESS=$(gcloud compute addresses list --format json --filter "name=$STATIC_IP_ADDRESS_NAME" --format="get(address)")

3. Set the $STATIC_IP_ADDRESS value in the Anthos Service Mesh (ASM) configuration file (istio-operator.yaml) using the "loadBalancerIP" property:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
clusterName: "hybrid-example/us-central1/example-cluster" # {"$ref":"#/definitions/io.k8s.cli.substitutions.cluster-name"}
spec:
profile: asm
...
components:
pilot:
k8s:
hpaSpec:
maxReplicas: 2
ingressGateways:
- name: istio-ingressgateway
enabled: true
k8s:
service:
type: LoadBalancer
loadBalancerIP: # Static IP address value ($STATIC_IP_ADDRESS)

Please refer the following documentation page for the complete ASM configuration to be applied in istio-operator.yaml file: https://cloud.google.com/apigee/docs/hybrid/v1.3/install-download-cert-manager-istio#update-the-asm-...

4. Afterwards, execute the following command within istio-1.5.8-asm.0 folder to apply the overridden settings to ASM:

./bin/istioctl manifest apply --set profile=asm -f asm/cluster/istio-operator.yaml

Reference: https://cloud.google.com/apigee/docs/hybrid/v1.3/install-download-cert-manager-istio#update-the-asm-...

5. Once completed, get Istio Ingress Gateway service definition and verify the value of "loadBalancerIP" property:

kubectl -n=istio-system get services/istio-ingressgateway -o=yaml
Comments
aramkrishna6
Participant V

@imesh  Please let us know, how above information will change for Apigee Hybrid 1.8 if going with Apigee Ingress instead of ASM

Version history
Last update:
‎09-28-2020 08:59 PM
Updated by: