uswitch / kiam

Integrate AWS IAM with Kubernetes
Apache License 2.0
1.15k stars 238 forks source link

multi-architecture images (ARM64 support) #495

Open vgunapati opened 3 years ago

vgunapati commented 3 years ago

Add arch support for arm64 to run on AWS graviton instances

Ref: https://github.com/uswitch/kiam/pull/466

DiegoLelis commented 3 years ago

Add arch support for arm64 to run on AWS graviton instances

Interesting... is KIAM dependent on x86 architecture? Have you tried?

I thought the pod shouldn't care about the underlying architecture.

commixon commented 3 years ago

Hey @DiegoLelis! Since kiam is mostly deployed as a daemonset, the container running on the arm nodes needs to have been built for arm. The multiarch docker build solves this issue since the docker daemon (or containerd etc) will automatically pull the correct image for the architecture

mattalberts commented 1 year ago

Hi @DiegoLelis the container images need to be built specific to architecture. When a pod requests its image, it passes forward the architecture, allowing for seemless use of multi-architecture instances as long as the docker manifest provides a matching architecture specific image.

Otherwise, you'll end up with an error like this, because the image isn't binary compatible.

$ kl kiam-server-6d6659448-2csnd
exec /kiam: exec format error