Skip to content

Conversation

@upodroid
Copy link
Member

The GCP CCM isn't multi-arch, and arm64 jobs on kops are failing :(

https://testgrid.k8s.io/kops-distro-cosdev#kops-grid-gce-kubenet-cosdevarm64-k34

Can we have this merged and a new patch release cut asap?

Thanks

@justinsb @hakman

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 24, 2025
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If the repository mantainers determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Details

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-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Nov 24, 2025
@hakman
Copy link
Member

hakman commented Nov 24, 2025

@upodroid

WARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
+ docker push gcr.io/k8s-infra-e2e-boskos-053/cloud-controller-manager:5f2c8c55-20251124T160334
The push refers to repository [gcr.io/k8s-infra-e2e-boskos-053/cloud-controller-manager]
An image does not exist locally with the tag: gcr.io/k8s-infra-e2e-boskos-053/cloud-controller-manager

@upodroid
Copy link
Member Author

Should be fixed now

@hakman
Copy link
Member

hakman commented Nov 25, 2025

Should be fixed now

It is, but uses emulation build. I would expect to use build platform and cross compile with GOOS and GOARCH.
What do you think?

@upodroid
Copy link
Member Author

The pd CSI driver is built like that too

https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/master/Dockerfile

The main problem is that the bazel is everywhere. The emulation isn't too slow right now.

@hakman
Copy link
Member

hakman commented Nov 25, 2025

The emulation is slow and prone to errors. Not exactly sure what you mean with PD CSI driver, I see there it uses FROM --platform=$BUILDPLATFORM. There is no need for bazel, take a look at kind:
https://github.com/kubernetes-sigs/kind/blob/main/images/local-path-provisioner/Dockerfile

@aojea
Copy link
Member

aojea commented Nov 25, 2025

does this give at least something functional we can iterate later and solve the current issue?

removing bazel entirely or doing more complex things in this repo can stall us forever ... trust me ;)

cloudbuild.yaml Outdated
machineType: E2_HIGHCPU_32
steps:
- name: 'gcr.io/cloud-builders/docker'
- name: "gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20251110-7ccd542560"
Copy link
Member

@hakman hakman Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this need to change?
Looks like it works fine for NPD: https://github.com/kubernetes/node-problem-detector/blob/master/cloudbuild.yaml.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That image has the latest version of docker in it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt the official Google one is old.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@upodroid let's try first with the official image, so we avoid the dependency on the staging ones

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got it working with the official one, reverting this change.

@hakman
Copy link
Member

hakman commented Nov 25, 2025

@aojea I am good with the approach. I added one more comment regarding an image, otherwise looks good from my end.

Dockerfile Outdated
RUN CGO_ENABLED=0 go build -o /go/bin/cloud-controller-manager ./cmd/cloud-controller-manager

FROM registry.k8s.io/build-image/go-runner:v2.4.0-go1.24.0-bookworm.0
FROM gcr.io/distroless/static-debian12
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need go runner, some of the manifest used depend on that

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted

@aojea
Copy link
Member

aojea commented Nov 25, 2025

/lgtm
/approve

Thanks

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 25, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aojea, upodroid

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 25, 2025
@hakman
Copy link
Member

hakman commented Nov 25, 2025

/lgtm

@k8s-ci-robot k8s-ci-robot merged commit c5cb3fa into kubernetes:master Nov 25, 2025
7 checks passed
@upodroid
Copy link
Member Author

@YifeiZhuang
Copy link
Contributor

@upodroid could you backport the change to 1.34 branch? We will cut release this week. cc @linpu01

k8s-ci-robot added a commit that referenced this pull request Dec 3, 2025
…pstream-release-1.34

Automated cherry pick of #925: make the docker image multi-arch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants