Multi Architecture
this part is evolving quickly during development of version 2 so it may be slightly inaccurate. |
To use Camel K operator with any architecture like arm64
you must use Buildah as builder strategy.
Since version 2, Camel K is publishing an ARM64 architecture beside the default AMD64 architecture. You need to reference this as apache/camel-k:<version>-arm64
. You can build your particular architecture from source, following the guidelines in Local development.
Install Camel K ARM64 operator
Proceed with installation of kamel inside kubernetes cluster with the below command:
kamel install --operator-image=apache/camel-k:<version>-arm64 --build-publish-strategy Buildah --build-publish-strategy-option BuildahPlatform=linux/arm/v8 --registry ...
Test an integration
Build and run an integration
from('timer:tick?period=3000')
.setBody().constant('Hello world from Camel K')
.to('log:info')
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 once this is installed, 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 spec.pipeline.PublishStrategyOptions
as below
spec:
pipeline:
PublishStrategyOptions:
BuildahPlatform: linux/arm/v8
After few seconds the yaml will be updated and that field is imported inside status
status:
pipeline:
PublishStrategyOptions:
BuildahPlatform: linux/arm/v8
It’s important to know Buidah supports only amd64 and arm64 |