Closed anuragjanghala closed 4 months ago
Hi @anuragjanghala, I assume you were the one opening the forum question here, right?
There's actually a bit of misunderstanding: the operator has NOT supported arm64 at all, in any version. So the issue you encountered has a different cause. The v0.0.9rc2 build has broken Docker manifests, due to an issue in underlying CI dependency. So the problem you encountered with v0.0.9rc2 is not related to ARM architecture. Please try to pull these images:
docker pull ghcr.io/grafana/operator:controller-v0.0.9rc2-buildx-fix
docker pull ghcr.io/grafana/operator:latest
These should have fixed manifests.
OTOH, I find it quite curious that previous versions of the operator have worked for you and other ARM users (since nobody had expressed an issue with it before). This implies that ARM-based devices that people use can actually run existing images out-of-the-box. You can check what image you've de facto pulled by running this command:
docker inspect ghcr.io/grafana/operator:latest | grep -A1 'Architecture'
I suspect that you'll see Linux amd64 in output, and your Docker setup must be doing some hidden magic with architectures. I'd appreciate feedback about that :slightly_smiling_face: It'd be good to understand better what exactly happens on ARM devices.
I have a related issue i.e. I tried to install the operator from the bundle: https://raw.githubusercontent.com/grafana/k6-operator/main/bundle.yaml
but it fails to start on an arm64-node with following error:
k6-operator-controller-manager-5ddf587fdb-zk24j kube-rbac-proxy k6-operator-controller-manager-5ddf587fdb-zk24j manager [k6-operator-controller-manager-5ddf587fdb-zk24j manager] exec /manager: exec format error
The image, which is being used is this one: ghcr.io/grafana/k6-operator:controller-v0.0.11rc2
If I pin the workload to run on an amd64-node it works without issues.
@pasi-romo-idealo, thanks for feedback! Can you clarify which arm64-node? I.e. is it a cloud cluster, etc.
Hi, yes we use AWS EC2-instances (Graviton) with arm-architecture.
Ciao
Hope this help ... i had the same issue on oke cluster based on arm
so, i've downloaded the repository and changed a couple of stuff on the dockerfiles
docker buildx build --platform linux/arm64 . -t ... Dockerfile.controller with this change on the Dockerfile
# Build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GO111MODULE=on go build -a -o manager main.go
docker buildx build --platform linux/arm64 . -t Dockerfile.runner
docker buildx build --platform linux/arm64 . -t Dockerfile.starter
with this change on Dockerfile
FROM curlimages/curl:8.4.0
all the images are presente here lgirardi/k6-operator-arm:0.0.11a lgirardi/k6-runner-arm:0.0.11a lgirardi/k6-starter-arm:0.0.11a
the bundle.yaml is using the operator
image: lgirardi/k6-operator-arm:0.0.11a
name: manager
...
the K6 is the following
kind: K6
metadata:
name: k6-www-k8s-it
namespace: k6-jobs
spec:
parallelism: 2
script:
configMap:
name: cfm-test-k8s-it
file: test-k8s-it.js
arguments: --out cloud
runner:
image: lgirardi/k6-runner-arm:0.0.11a
starter:
image: lgirardi/k6-starter-arm:0.0.11a
so after that everything is working as expected
k6-jobs k6-www-k8s-it-2-gz9sl 0/1 Completed 0 12m
k6-jobs k6-www-k8s-it-initializer-n4k2g 0/1 Completed 0 12m
k6-jobs k6-www-k8s-it-starter-5bvf6 0/1 Completed 0 12m
k6-operator-system k6-operator-controller-manager-7cfd6c7777-pbbrv 2/2 Running 0 47m```
Grazie mille :blush:
For now I have been using just the amd64-based image since our clusters supports also such nodes. I will definitely give this a go, since because of this other issue:
https://github.com/grafana/k6-operator/issues/171
I anyway need to create a custom image for me for now.
For this specific issue the optimal solution would of course be if the official images were already built as multi-arch i.e. we would not need to build our own images.
@lorenzogirardi please feel free to open PR with the addition of ARM! :smile:
I agree that multi-arch images would be great if they work. AFAIK, k6 has added ARM only very recently (probably this PR) and there were some issues the team had to face & solve there.
Hello, any news ?
I love arm64
With the help of @audacioustux, we have a first attempt at ARM merged :tada:
The ARM image has been built and is available under tag controller-arm-test
:
https://github.com/grafana/k6-operator/pkgs/container/k6-operator/198006404?tag=controller-arm-test
Similarly with runner-arm-test
and starter-arm-test
tags.
Please try it out on your ARM setups! If there are any issues, we should resolve them ASAP. (I'll wait a bit for feedback before closing this issue.)
I tried the controller-image and got it running succesfully on an ARM64-node :tada: Due to this other open issue (https://github.com/grafana/k6-operator/issues/171) I was not able to test the whole functionality.
is this going to be available on dockerhub?
Closing this issue now as as no trouble was reported :slightly_smiling_face:
@Israphel, currently it's available as latest
in ghcr.io/grafana/k6-operator
. No, Docker Hub is not planned at this point of time. ARM will be part of v0.0.15
release: coming up soon, hopefully.
Feature Description
Hey, please provide support for the arm64 devices, as after the recent changes, the new image with latest tag doesn't support m1 or m2 chips as it was doing in the previous release.
Suggested Solution (optional)
No response
Already existing or connected issues / PRs (optional)
No response