Multi Architecture

To use kamel inside other architecture like arm64 you must build it and use Buildah as builder strategy.

For now only arm64 is supported as other architectures

Build and Publish Kamel

As first step it’s necessary to build kamel project manually and push image to own docker repository.

I suggest to create a free docker image repository with docker-hub or ghcr.

make build images-arch images-push
The base image of kamel operator is graalvm because multi architecture quarkus-mandrel image not published yet

Install Kamel

Proceed with installation of kamel inside kubernetes cluster with the below command

./kamel install --build-publish-strategy=Buildah --registry YOUR_REGISTRY --registry-auth-username YOUR_USERNAME --registry-auth-password YOUR_PASSWORD

Use kamel

Build and run an integration

  .setBody().constant('Hello world from Camel K')

Send the groovy file to kamel operator to build, publish and run it

kamel run hello.groovy

Optional Buildah Configuration

If you want change the default architecture of buildah build strategy, you must edit integration platform manually.

kubectl edit ip

This command will open the editor with the yaml of IntegrationPlatform, to change the architecture you can fill inside as below

      BuildahPlatform: linux/arm/v8

After few seconds the yaml will be updated and that field is imported inside status

      BuildahPlatform: linux/arm/v8
It’s important to know buidah supports only amd64 and arm64