Skip to content

Gitlab runner tries to pull x86 image on arm nodes

Summary

We are running Gitlab CE 18.0.1 and the Gitlab runner 18.0.2 in an kubernetes cluster. Our Kubernetes nodes run mixed architectures. We are using x86_64 and arm nodes. Since we updated the Gitlab runner helm deployment to Gitlab runner 18.0.2 it tries to pull the helper image for x86_64 on the arm nodes which fails like it should.

Steps to reproduce

Upgrade Gitlab runner helm deployment to 18.0.1/18.0.2

Actual behavior

Expected behavior

The arm helper image get's pulled.

Relevant logs and/or screenshots

job log
Waiting for pod gitlab-runner/runner-hduvz2zum-project-215-concurrent-0-n3kpjipp to be running, status is Pending
WARNING: Event retrieved from the cluster: Failed to pull image "registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v18.0.2": rpc error: code = NotFound desc = failed to pull and unpack image "registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-v18.0.2": no match for platform in manifest: not found
WARNING: Event retrieved from the cluster: Error: ErrImagePull
WARNING: Event retrieved from the cluster: Error: ImagePullBackOff

Environment description

We are using Gitlab CE as an standalone docker deployment. The runner is deployed in an k3s cluster with arm nodes as well as x86_64 nodes.

config.toml contents
gitlabUrl: %URL%
rbac:
  create: true
runnerToken: %RUNNER_TOKEN%
runners:
  config: |
    [[runners]]
      [runners.kubernetes]
        pull_policy = ["if-not-present"]
        allowed_pull_policies = ["always", "if-not-present"]
        image_pull_secrets = ["registry-credentials"]```
</details>

### Used GitLab Runner version

```sh
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
gitlab-runner   gitlab-runner   3               2025-05-22 15:16:42.228663 +0200 CEST   deployed        gitlab-runner-0.77.2    18.0.2

Possible fixes