Upgrading to version 1.4.4 overview.
The procedures for upgrading Apigee hybrid are organized in the following sections:
- Backup your hybrid installation.
- Check your Kubernetes version and upgrade as appropriate.
- Upgrade ASM.
- Install hybrid runtime version 1.4.
Prerequisite
- Apigee hybrid version 1.3. If you are updating from an earlier version see the instructions for Upgrading Apigee hybrid to version 1.3.
Upgrade to version 1.4
- (Recommended) Make a backup copy of your version 1.3
$APIGEECTL_HOME/
directory. For example:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
- (Recommended) Backup your Cassandra database following the instructions in Cassandra backup and recovery
- Upgrade your Kubernetes platform as follows. Follow your platform's documentation if
you need help:
Platform Upgrade to version GKE 1.18.x GKE on-prem (Anthos) 1.5.x AKS 1.18.x using Anthos attached clusters EKS 1.18.x using Anthos attached clusters - Upgrade ASM to version 1.6.x.
- Perform the upgrade using the ASM documentation:
- GKE on-prem (Anthos): Upgrading Anthos Service Mesh on premises
- All other platforms: Upgrading Anthos Service Mesh on GKE
- Specify the following ingress ports and set the
runAsRoot
property totrue
in youristio-operator.yaml
file"… … … ports: - port: 15021 name: status-port targetPort: 15021 - port: 80 name: http2 targetPort: 80 - port: 443 name: https targetPort: 443 … … … values: gateways: istio-ingressgateway: runAsRoot: true
- Create PeerAuthentication CRs for disabling mTLS in your
istio-operator.yaml
file:--- apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: apigee-system namespace: apigee-system spec: mtls: mode: DISABLE --- apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name:
user-namespace namespace:user-namespace spec: mtls: mode: DISABLE - Apply these changes with
istioctl
as described in the ASM documentation: - GKE on-prem (Anthos): Updating the control plane
- All other platforms: Updating the control plane
- Perform the upgrade using the ASM documentation:
Install the hybrid 1.4.4 runtime
- Store the latest version number in a variable:
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
- Check that the variable was populated with a version number. If you want to use a different
version, you can save that in an environment variable instead. For example:
echo $VERSION
1.4.4
Download the release package for your operating system:
Mac 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Linux 64 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz
Mac 32 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz
Linux 32 bit:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
- Rename your current
apigeectl/
directory to a backup directory name. For example:mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/
-
Extract the downloaded gzip file contents into your hybrid base directory. For example:
tar xvzf
filename .tar.gz -Chybrid-base-directory cd
to the base directory.-
The tar contents are, by default, expanded into a directory with the version and platform in its name. For example:
./apigeectl_1.4.4-xxx_linux_64
. Rename that directory toapigeectl
:mv
apigeectl_1.4.5-xxx_linux_64 apigeectl - In the new
apigeectl/
directory, runapigeectl init
,apigeectl apply
, andapigeectl check-ready
:- Initialize hybrid 1.4.4:
apigeectl init -f
overrides.yaml Where overrides.yaml is your edited overrides.yaml file.
- Check that it initialized correctly with the following commands:
apigeectl check-ready -f
overrides.yaml kubectl describe apigeeds -n apigee
Your output should look something like:
Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: running
- The syntax of the
apigeectl
--dry-run
flag depends on the version ofkubectl
you are running. Check the version ofkubectl
:gcloud version
- Check for errors with a dry run with the command appropriate to your version of
kubectl
:kubectl
version 1.17 and older:apigeectl apply -f
overrides.yaml --dry-run=truekubectl
version 1.18 and newer:apigeectl apply -f
overrides.yaml --dry-run=client - Apply your overrides. Select and follow the instructions for production environments or
demo/experimental environments, depending on your installation.
For production environments you should upgrade each hybrid component individually, and check the status of the upgraded component before proceeding to the next component.
- Apply your overrides to upgrade Cassandra:
apigeectl apply -f
overrides.yaml --datastore - Check completion:
kubectl -n
namespace get podsapigeectl check-ready -f
overrides .yamlWhere namespace is your Apigee hybrid namespace.
Proceed to the next step only when the pods are ready.
- Apply your overrides to upgrade Telemetry components and check completion:
apigeectl apply -f
overrides.yaml --telemetrykubectl -n
namespace get podsapigeectl check-ready -f
overrides .yaml - Apply your overrides to upgrade the org-level components (MART, Watcher and Apigee
Connect) and check completion:
apigeectl apply -f
overrides.yaml --orgkubectl -n
namespace get podsapigeectl check-ready -f
overrides .yaml - Apply your overrides to upgrade your environments. You have two choices:
- Environment by environment: Apply your overrides to one environment at a time and check completion. Repeat
this step for each environment:
apigeectl apply -f
overrides.yaml --envenv_name kubectl -n
namespace get podsapigeectl check-ready -f
overrides.yaml Where env_name is the name of the environment you are upgrading.
- All environments at one time: Apply your overrides to all environments at once and check completion:
apigeectl apply -f
overrides.yaml --all-envskubectl -n
namespace get podsapigeectl check-ready -f
overrides.yaml
- Environment by environment: Apply your overrides to one environment at a time and check completion. Repeat
this step for each environment:
In most demo or experimental environments, you can apply the overrides to all components at once. If your demo/experimental environment large and complex or closely mimics a production environment, you may want to use the instructions for upgrading production environments
apigeectl apply -f
overrides.yaml - Check the status:
apigeectl check-ready -f
overrides.yaml
- Apply your overrides to upgrade Cassandra:
Congratulations! You have successfully upgraded to Apigee hybrid version 1.4.4.
- Initialize hybrid 1.4.4: