☂️ -Issue for ARM64 dev environment
How to categorize this issue?
/area delivery /area dev-productivity /kind enhancement
What would you like to be added:
More and more developers switch with their dev machines to an ARM64 based architecture, esp. with Apple Silicon. Although it's possible to run AMD64 based images on these platforms via qemu emulation, the experience to do so with the local Garden setup wasn't acceptable due to severe performance issues (cc @wyb1).
This issue is a collection of components that need to be adapted for an additional ARM64 support. At the same time, the issue helps to make a big step towards supporting ARM64 based seeds/shoots in general.
It is yet an open point if changes regarding image handling are required in the Gardener code base. In the best case we can create/switch to multi-arch OCI images everywhere.
Seed components:
-
[x] https://github.com/gardener/etcd-druid/pull/367
- [x] https://github.com/gardener/etcd-custom-image/pull/19
- [x] https://github.com/gardener/etcd-backup-restore/pull/499
-
[x] https://github.com/gardener/dependency-watchdog/pull/57
-
[x] ~github.com/kubernetes/ingress-gce (ingress-default-backend), see https://github.com/kubernetes/ingress-gce/issues/1719~ https://github.com/gardener/gardener/pull/6521
-
[x] https://github.com/gardener/logging/pull/130
-
[x] https://github.com/gardener/vpa-exporter/pull/18
-
[x] https://github.com/gardener/hvpa-controller/pull/101
-
[ ] github.com/istio/istio, see https://github.com/istio/istio/issues/26652 --> will be released with Istio 1.15.
-
[x] https://github.com/gardener/ext-authz-server/pull/6
-
[x] https://github.com/gardener/machine-controller-manager/pull/732
-
[ ] Gardener Provider/Service Extensions for local development:
- [ ] Provider-Local
- [x] machine-controller-provider-local and provider-local node image: https://github.com/orgs/gardener/packages?repo_name=machine-controller-manager-provider-local
- [x] https://github.com/gardener/gardener-extension-networking-calico/pull/198
- [x] Calico-Node-Vertical-Autoscaler
Shoot components:
- [x] https://github.com/gardener/gardener/pull/6238
- [x] https://github.com/gardener/gardener/pull/6415
Local dev tools:
- [x] https://github.com/gardener/gardener/pull/6314 install gardener tooling (kind, skaffold, yq)
- [ ] docforge binary, see https://github.com/gardener/docforge/issues/280
/assign
Is pause-container still needed after https://github.com/gardener/gardener/pull/6238?
Is pause-container still needed after #6238?
No
machine-controller-provider-local and provider-local node image are already multi-arch builds 🚀 See https://github.com/orgs/gardener/packages?repo_name=machine-controller-manager-provider-local
machine-controller-provider-local and provider-local node image are already multi-arch builds
Nice. Then we need support for MCM https://github.com/gardener/gardener/blob/9535a6c27e1f6313c80279346ad8673ca69f6dc0/pkg/provider-local/imagevector/images.yaml#L2-L5
Small update on this issue:
I created a script to check which images don't support arm64 yet in our local setup.
On the seed cluster, only istio is lacking arm64 support:
gcr.io/istio-release/pilot:1.14.1-distroless
gcr.io/istio-release/proxyv2:1.14.1-distroless
github.com/istio/istio, see https://github.com/istio/istio/issues/26652 --> will be released with Istio 1.15.
@axel7born is already working on upgrading istio to 1.15 which supports arm64.
This is done already, ko automatically builds for the correct target platform.
On the shoot cluster (example/provider-local/shoot.yaml), all images support arm64.
Note, that the default shoot cluster doesn't use the cluster-autoscaler, but eu.gcr.io/gardener-project/gardener/autoscaler/cluster-autoscaler:v1.24.0 only supports amd64.
I updated the task list accordingly.
I guess we can close this now, is anything missing?
The Docforge release is missing and the related update PR for Gardener to use that version. I pinged @Kristian-ZH for the release.
@timuthy https://github.com/gardener/docforge/releases/tag/v0.33.0
All tasks have been completed. /close
@rfranzke: Closing this issue.
In response to this:
All tasks have been completed. /close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.