Istio gateway installation times out

When you install Istio in your cluster, the Istio gateways fail to deploy.

What's happening?

When you install Istio, you might notice an error similar to the following.

✘ Ingress gateways encountered an error: failed to wait for resource: resources not ready after 5m0s: timed out waiting for the condition
  Deployment/istio-system/istio-eastwestgateway (container failed to start: CrashLoopBackOff: back-off 2m40s restarting failed container=istio-proxy pod=istio-eastwestgateway-56f99b9f8c-hv844_istio-system(35406c23-a05c-4640-99c4-d935d0b4b203))
  Deployment/istio-system/istio-ingressgateway (container failed to start: CrashLoopBackOff: back-off 2m40s restarting failed container=istio-proxy pod=istio-ingressgateway-7966bb6b69-5xg9g_istio-system(a22a578e-33ec-4579-94b5-3867d8cb3082))
- Pruning removed resources                               Error: failed to install manifests: errors occurred during operation

Why it's happening?

Your istioctl version might not match the version during Istio installation.

How to fix it?

Verify that the Istio version that you want to install in your cluster and the Istio client on your local machine match. If not, upgrade your Istio version. Then, try to install Istio in the cluster again.

  1. Check the version that you use for the Istio installation, such as checking the ISTIO_IMAGE environment variable.

    echo $ISTIO_IMAGE
  2. Check the istioctl version on your workstation.

    istioctl version
  3. If these versions do not match, upgrade your istioctl version, such as with the following commands.

  4. If the versions match, check the logs of the istiod and any gateway pods that might be in a crash loop state for error messages, such as the following.

    • no space left on device: If you set up Istio on a local device for testing purposes using kind or k3d, you might run out of space. Try cleaning up your system, such as with docker system prune.
  5. Try to install Istio again.