k8snetworkplumbingwg / multus-cni

A CNI meta-plugin for multi-homed pods in Kubernetes
Apache License 2.0
2.29k stars 575 forks source link

Provide arm64 builds for thick packages #1225

Closed bjencks closed 5 months ago

bjencks commented 5 months ago

What would you like to be added:

Published *-thick (both snapshot and release) images should have arm64 builds.

Why is this needed:

Parity with thin packages, which provide 5 architectures (amd64, arm/v7, arm64, ppc64le, s390x).

fishgrimsby commented 5 months ago

Based on the following 2 discussions in previous pull requests I don't think these will be added until somebody can volunteer time to support the other architectures:

If it helps anyone in the mean time I've published convenient builds of the thick plugin with additional architectures (platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x) for my own use with a multi-architecture Kubernetes cluster. If anyone wants to try it out either replace the ghcr.io/k8snetworkplumbingwg/multus-cni image with ghcr.io/fishgrimsby/multus-cni in your existing manifests or use the yaml files here to deploy:

I'm only making use of the amd64 and arm64 architectures so far, the others are untried.

dougbtv commented 5 months ago

Thanks Richard, that is exactly the situation. Let's close it as a dupe of #1136

bobz965 commented 3 months ago

it looks like ghcr.io/fishgrimsby/multus-cni in your yml is only amd64.

fishgrimsby commented 3 months ago

it looks like ghcr.io/fishgrimsby/multus-cni in your yml is only amd64.

Can you expand what you mean @bobz965 ? The thick deployment yaml uses:

image: ghcr.io/fishgrimsby/multus-cni:snapshot-thick or image: ghcr.io/fishgrimsby/multus-cni:stable-thick depending on latest/tagged version, and doesn't define an architecture

You can verify the OS/Arch available on the packages they refer to at: https://github.com/fishgrimsby/multus-cni/pkgs/container/multus-cni/205115737?tag=snapshot-thick or https://github.com/fishgrimsby/multus-cni/pkgs/container/multus-cni/180201655?tag=stable-thick

bobz965 commented 3 months ago

sorry, i got the arm image.

docker pull --platform=linux/arm64 ghcr.io/fishgrimsby/multus-cni:stable-thick

if not set --platform=linux/arm64, only get the amd64.

it is not a multi-arch image, it is just one arch.

fishgrimsby commented 3 months ago

@bobz965 What platform are you running the docker pull command from? If you are running it from an amd64 machine then I would say that is expected behaviour. Docker will select the correct image for the machine you are pulling from.

If I run it from an arm64 machine, I get the arm64 image without having to specify the platform. If I run it from an amd64 machine, I get the amd64 image.

Are you saying that when you run docker pull ghcr.io/fishgrimsby/multus-cni:stable-thick from an arm64 machine you are getting the amd64 image instead of the arm64? I am not experiencing that

bobz965 commented 3 months ago

@bobz965 What platform are you running the docker pull command from? If you are running it from an amd64 machine then I would say that is expected behaviour. Docker will select the correct image for the machine you are pulling from.

If I run it from an arm64 machine, I get the arm64 image without having to specify the platform. If I run it from an amd64 machine, I get the amd64 image.

Are you saying that when you run docker pull ghcr.io/fishgrimsby/multus-cni:stable-thick from an arm64 machine you are getting the amd64 image instead of the arm64? I am not experiencing that

yeah, i still do not know, why i get a and64 in my mac arm64 PC. but still thanks for your reply.