Skip to content

Arm Support Broken due to reliance on amd64-only image #2374

@mdesson

Description

@mdesson

What happened?

When running the operator in k3d on my Apple silicon machine (version 2.12 of the operator) it never entered a healthy state.

This is because the init container uses this image:
https://hub.docker.com/r/foundationdb/fdb-kubernetes-monitor/tags

When the operator starts, an init container copies binaries from this image (fdbcli, for example).

Looking at the tags, there is no arm support in this image, causing the operator to never successfully start.

What did you expect to happen?

Versions of the operator supporting ARM work in a dockerized environment on an arm-based machine.

How can we reproduce it (as minimally and precisely as possible)?

  1. Run the operator on an apple silicon machine within k3d.
  2. Run the following commands:
$ kubectl exec fdb-kubernetes-operator-controller-manager-$ID_GOES_HERE -- /usr/bin/fdb/7.3/fdbcli --version
$ kubectl exec fdb-kubernetes-operator-controller-manager-$ID_GOES_HERE -- uname -m
$ kubectl logs fdb-kubernetes-operator-controller-manager-$ID_GOES_HERE | grep -A 2 -B 2 "rosetta error"
  1. Observe the errors showing the fdbcli binary being x86_64.

Anything else we need to know?

No response

FDB Kubernetes operator

$ kubectl fdb version
v2.12.0

Kubernetes version

$ kubectl version
Client Version: v1.33.1
Kustomize Version: v5.6.0
Server Version: v1.32.8+k3s1

Cloud provider

N/A. Running k3d on an MacBook Pro M2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions