You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/12/20 11:01:20 UTC

(camel-k) branch main updated: docs(install): Fix advanced doc on multiarchitecture ARM64

This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/main by this push:
     new 6a43d6433 docs(install): Fix advanced doc on multiarchitecture ARM64
6a43d6433 is described below

commit 6a43d6433c78bc5769f0b03fa4fed912bab907d0
Author: Gaelle Fournier <ga...@gmail.com>
AuthorDate: Tue Dec 19 18:36:48 2023 +0100

    docs(install): Fix advanced doc on multiarchitecture ARM64
---
 .../installation/advanced/multi-architecture.adoc  | 67 ++++++++++++----------
 1 file changed, 36 insertions(+), 31 deletions(-)

diff --git a/docs/modules/ROOT/pages/installation/advanced/multi-architecture.adoc b/docs/modules/ROOT/pages/installation/advanced/multi-architecture.adoc
index 931938762..5a167ea22 100644
--- a/docs/modules/ROOT/pages/installation/advanced/multi-architecture.adoc
+++ b/docs/modules/ROOT/pages/installation/advanced/multi-architecture.adoc
@@ -3,20 +3,48 @@
 
 NOTE: 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 xref:contributing/local-development.adoc[Local development].
 
 [[multi-architecture-install]]
 == Install Camel K ARM64 operator
 
-Proceed with installation of kamel inside kubernetes cluster with the below command:
+The default configured base image defaults to the AMD64 architecture manifest, it does not automatically look for the AMR64 architecture manifest reference. To ensure your integrations work correctly, you must specifically reference the ARM64 architecture as your base image.
+
+Proceed with installation of Camel K inside kubernetes cluster with the below command:
+
+[source,shell]
+----
+kamel install --operator-image apache/camel-k:<version>-arm64 --base-image <base-image-arm64> --registry ...
+----
+
+=== Example
+
+On Camel K 2.1.0, the default base image is : `eclipse-temurin:17`.
+
+Look through the manifest to find the digest of a valid image containing `"architecture": "arm64"`:
+
+[source,shell]
+----
+docker manifest inspect eclipse-temurin:17
+----
+
+Proceed with installation of Camel K inside kubernetes cluster with the valid image reference:
+
+[source,shell]
+----
+kamel install --operator-image apache/camel-k:2.1.0-arm64 --base-image eclipse-temurin:17@sha256:bbc153da9e6041c65f0d4cdc7ef03eec174c9a74c8852c838582b579081c99c1 --registry ...
+----
+
+The logs should indicate the architecture at the start of the operator pod:
 
 [source,shell]
 ----
-kamel install --operator-image=apache/camel-k:<version>-arm64 --build-publish-strategy Buildah --build-publish-strategy-option BuildahPlatform=linux/arm/v8 --registry ...
+{"level":"info","ts":"2023-12-19T16:40:31Z","logger":"camel-k.cmd","msg":"Go Version: go1.21.0"}
+{"level":"info","ts":"2023-12-19T16:40:31Z","logger":"camel-k.cmd","msg":"Go OS/Arch: linux/arm64"}
+{"level":"info","ts":"2023-12-19T16:40:31Z","logger":"camel-k.cmd","msg":"Camel K Operator Version: 2.1.0"}
 ----
 
+
 [[multi-architecture-use]]
 == Test an integration
 
@@ -36,33 +64,10 @@ Send the groovy file to kamel operator to build, publish and run it
 kamel run hello.groovy
 ----
 
-[[multi-architecture-configure-optional]]
-== Optional Buildah Configuration
-
-If you want change the default architecture of Buildah build strategy once this is installed, you must edit integration platform manually.
-
+You should observe base image in the logs of the operator pod:
 [source,shell]
 ----
-kubectl edit ip
+...
+{"level":"info","ts":"2023-12-19T17:10:05Z","logger":"camel-k","msg":"spectrum - 2023/12/19 17:10:05 Pulling base image eclipse-temurin:17@sha256:bbc153da9e6041c65f0d4cdc7ef03eec174c9a74c8852c838582b579081c99c1 (insecure=false)..."}
+...
 ----
-
-This command will open the editor with the yaml of `IntegrationPlatform`, to change the architecture you can fill inside `spec.pipeline.PublishStrategyOptions` as below
-[source,yaml]
-----
-spec:
-  pipeline:
-    PublishStrategyOptions:
-      BuildahPlatform: linux/arm/v8
-----
-
-After few seconds the yaml will be updated and that field is imported inside status
-
-[source,yaml]
-----
-status:
-  pipeline:
-    PublishStrategyOptions:
-      BuildahPlatform: linux/arm/v8
-----
-
-NOTE: It's important to know Buidah supports only amd64 and arm64