This repo is a guide to changing the BIG-IP edition of a production HA pair in Google Cloud with minimal disruption to traffic and preserving your infrastructure-as-code state so it matches actual infrastructure resources for each stage of the process. For example, you can upgrade from Good to Best+ edition, or transition VEs from PAYG to perpetual licenses (BYOL), or vice-versa.
While the examples are specific to GCP the general technique should be equally applicable to other private and public cloud deployments.
NOTE: These techniques cannot be used to change the BIG-IP version of the deployment - ConfigSync continues to manage cluster state and thus requires that the base BIG-IP versions are identical for all devices in the group.
Upstream F5 Solution | Upstream version | Linked scenario(s) | Notes |
---|---|---|---|
GDM v1 via-API, 3nic, PAYG | v4.3.0 | Throughput change(25Mbps -> 1Gbps) |
All the scenarios follow the basic steps:
- BIG-IP VE 1 and BIG-IP VE 2 are an existing HA pair deployed using one of F5's supported or community repositories
- The cluster is in a known-good state
The first step is to add new VEs running target edition
NOTE: This step is specific to your starting point; in order to preserve IaC state and avoid future issues follow the directions in step-1-expand folder for your scenario.
- Two new BIG-IP VEs are added to GCP; BIG-IP VE 3 and BIG-IP VE 4
- BIG-IP VE 3 and BIG-IP VE 4 are functionally standalone
- All four VEs should be running the same set of extensions (e.g. DO, AS3, CFE - if applicable, etc.) and the same release versions of the extensions
Good news! These steps are common to all the examples and could serve as a starting point if your specific scenario is not in this repo. A detailed walkthrough can be found in Modifying HA.
a. Extend device trust to include the new VEs
b. Force Offline the new VEs
c. Extend the failover group to the new VEs
d. Release Offline and force failover to a new VE
e. Reduce failover group to exclude the original VEs
f. Reduce device trust to exclude the original VEs
NOTE: This step is specific to your starting point; in order to preserve IaC state and avoid future issues follow the directions in step-3-reduce folder for your scenario.