Skip to content

Commit 679d2cc

Browse files
committed
Retiring gcr.io
1 parent 0ab5a15 commit 679d2cc

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

  • content/en/blog/2026/retirement-of-gcr.io
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: "Istio is Migrating Container Registries"
3+
description: What you can do today to ensure your clusters are not impacted by the retirement of `gcr.io/istio-release`.
4+
publishdate: 2026-03-23
5+
attribution: Steven Jin (Microsoft), John Howard (Google)
6+
keywords: [Istio,Helm,Container Registry]
7+
---
8+
9+
Due to changes in Istio's funding model, Istio images will no longer be available at `gcr.io/istio-release` starting January 1st, 2027.
10+
That is, clusters that reference images hosted on `gcr.io/istio-release` might fail to create new pods in 2027.
11+
12+
## Am I affected?
13+
14+
By default, Istio installations use Docker Hub (`docker.io/istio`) as their container registry, but many users choose to use the `gcr.io/istio-release` mirror.
15+
You can check whether you are using the mirror using the following command.
16+
17+
```bash
18+
kubectl get pods --all-namespaces -o json \
19+
| jq -r '.items[] | select(.spec.containers[].image | startswith("gcr.io/istio-release")) | "\(.metadata.namespace)/\(.metadata.name)"'
20+
```
21+
22+
The above command will list all the pods that use images hosted on `gcr.io/istio-release`.
23+
If there are any such pods, you will likely need to migrate.
24+
25+
{{< tip >}}
26+
Even if you are using Docker Hub as your registry, we suggest that you migrate to `registry.istio.io` in case Istio images are no longer available on Docker Hub in the future.
27+
{{< /tip >}}
28+
29+
## Migrating today
30+
31+
Although we do not plan on retiring `gcr.io/istio-release` until January 1st, 2027, **you can migrate container registries today** by moving to the `registry.istio.io` registry.
32+
33+
### Using `istioctl`
34+
35+
If you install Istio using `istioctl`, you can update your IstioOperator configuration as follows
36+
37+
```yaml
38+
# istiooperator.yaml
39+
apiVersion: install.istio.io/v1alpha1
40+
kind: IstioOperator
41+
spec:
42+
# ...
43+
hub: registry.istio.io/release
44+
# Everything else can stay the same unless you reference `gcr.io/istio-release` images elsewhere
45+
```
46+
47+
and install Istio using this configuration
48+
49+
```bash
50+
istioctl install -f istiooperator.yaml
51+
```
52+
53+
Alternatively, you can pass in the registry as a command line argument
54+
55+
```bash
56+
istioctl install --set hub=registry.istio.io/release # the rest of your arguments
57+
```
58+
59+
### Using Helm
60+
61+
If you use Helm to install Istio, update your values file to have the following
62+
63+
```yaml
64+
# ...
65+
hub: registry.istio.io/release
66+
global:
67+
hub: registry.istio.io/release
68+
# Everything else can stay the same unless you reference `gcr.io/istio-release` images elsewhere
69+
```
70+
71+
Then, update your Helm installation with your new values file.
72+
73+
### Private mirrors
74+
75+
Your organization might pull images from `gcr.io/istio-release`, push them to a private registry, and reference the private registry in their Istio installation.
76+
This process will still work, but you will have to pull from `registry.istio.io/release` instead of `gcr.io/istio-release`.

0 commit comments

Comments
 (0)