These steps are specific to installations of the Istio on GKE, also referred to as the "Istio add-on".
Before you begin
You must first review and ensure that you meet the requirements for upgrading.
The commands on this page use the environment variables and migration script from the upgrade preparation step.
It is important that you perform each step of this process in the specified order.
Identify if the Istio add-on is in use
There are two possible paths for migration depending on if either the ingress gateway or sidecar injection feature of the Istio add-on is in use within your cluster.
Earlier in the preparation step, you already identified if the Istio add-on is configured. You can run the following command to verify that the
istio-system
namespace exists:echo $INGRESS_NAMESPACE
Run the following command to determine if the sidecar injection feature of the Istio add-on is in use within your cluster:
kubectl get ns -l istio-injection=enabled
If any namespace, other than
knative-serving
is listed, it indicates that sidecar injection of the Istio add-on is in use.For example, if the command only lists the
knative-serving
namespace, then you have not configured and do not use sidecar injection of the Istio add-on.
Results:
One or both used - One or both of the Istio add-on features are in use within your cluster:
- Istio add-on ingress service
istio-ingressgateway
is used. - Istio add-on sidecar injection is used.
Next steps: After you follow the instruction in the next section to uninstall the Istio add-on, you must proceed to the Cloud Service Mesh with the managed control plane guide.
- Istio add-on ingress service
Not used - Neither the ingress gateway nor the sidecar injection of the Istio add-on are configure for use within your cluster. In other words, your installation uses the "bundled version of Istio".
Next steps: After you follow the instruction in the next section to uninstall the unused Istio add-on, you can proceed to the Cloud Service Mesh with the in-cluster control plane guide.
Uninstall the Istio add-on
In this section, the migration script is used to uninstall the "Istio add-on".
Run the following command to start the migration script:
./migration-addon.sh --command uninstall-istio-addon
Verify that the
istio-system
namespace has been deleted:kubectl get ns istio-system --ignore-not-found
What's next
Depending on the ingress gateway configuration that you identified above, continue to the corresponding installation guide:
If you identified earlier that one or both of the "Istio add-on" features were configured and used within your cluster, you must proceed to the Cloud Service Mesh with the managed control plane guide.
If you identified earlier that neither the ingress gateway nor the sidecar injection of the "Istio add-on" were used in your cluster, then your installation actually used the "bundled version of Istio". You can now proceed to install Cloud Service Mesh with the in-cluster control plane.
Rollback
If you need to rollback the changes that you made through the steps above, you can use the migration script to re-enable the "Istio add-on":
Run the following command:
./migration-addon.sh --command rollback-uninstall-istio-addon
To continue rolling back your changes to your installation's original state, rollback the Knative serving "GKE add-on".