gardener icon indicating copy to clipboard operation
gardener copied to clipboard

☂️ -Issue for ARM64 dev environment

Open timuthy opened this issue 3 years ago • 5 comments

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

  • [ ] github.com/gardener/autoscaler

  • [ ] 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

timuthy avatar Jul 04 '22 15:07 timuthy

/assign

timuthy avatar Jul 04 '22 15:07 timuthy

Is pause-container still needed after https://github.com/gardener/gardener/pull/6238?

rfranzke avatar Jul 04 '22 17:07 rfranzke

Is pause-container still needed after #6238?

No

acumino avatar Jul 04 '22 17:07 acumino

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

timebertt avatar Jul 05 '22 06:07 timebertt

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

timuthy avatar Jul 05 '22 07:07 timuthy

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.

Provider-Local

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.

timebertt avatar Nov 09 '22 15:11 timebertt

I guess we can close this now, is anything missing?

rfranzke avatar Jan 18 '23 11:01 rfranzke

The Docforge release is missing and the related update PR for Gardener to use that version. I pinged @Kristian-ZH for the release.

timuthy avatar Jan 18 '23 13:01 timuthy

@timuthy https://github.com/gardener/docforge/releases/tag/v0.33.0

JordanJordanov avatar Jan 18 '23 15:01 JordanJordanov

All tasks have been completed. /close

rfranzke avatar Jan 23 '23 12:01 rfranzke

@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.

gardener-prow[bot] avatar Jan 23 '23 12:01 gardener-prow[bot]