Multi-Architecture for SDP (Experimental)

This is an experimental feature of the Stackable Data Platform (SDP) and still under development.
24.3.0 has been released as a multi-architecture release. We encountered certain limitations as Superset 3.1.0 hasn’t been build yet and only Airflow 2.6.3 is currently available.

Early access

SDP release 23.11.0 has been ported to the ARM64 architecture. With 24.3.0 we enabled multi-architecture. These images are stored within the stackable-experimental organization in our Docker repository.

Available releases

The only release currently available for ARM64 is the early access versions mentioned above.

23.11.0 only brought arm64 as early access feature, as of 24.3.0 we support multi-architecture ( mixed architectures on clusters ).

Each product image is built using architecture-specific tags to keep them distinct from development/nightly images. In the future they may be bundled as a manifest list using an automated workflow.

24.7.0 will be released as part of the usual release process directly as multi-architecture release.

Operators

According to our installation guide you can install ARM64 operators e.g. for the commons operator as follows:

helm install commons-operator stackable-stable/commons-operator --namespace stackable-operators --create-namespace --version=24.3.0 --set image.repository=docker.stackable.tech/stackable-experimental/commons-operator

By declaring --set image.repository=docker.stackable.tech/stackable-experimental/commons-operator you will overwrite the image selected by default with one located in the organization stackable-experimental. The other operators can be installed in the same way.

Products

The Product image selection mechanism allows the user to choose a specific product image and/or a different repository, which may be relevant for e.g. air-gapped environments or when using a mirrored repository. To choose an ARM64 image specify the image in the custom field as follows:

spec:
  image:
    custom: docker.stackable.tech/stackable-experimental/kafka:3.6.1-stackable24.3.0
    productVersion: 3.6.1
23.11.0 is released as arm64 only, 24.3.0 is released as manifest lists which bundle x86_64 and arm64.

Prepared demos

Usually stackablectl would install all required operators for a demo automatically. But stackablectl is not yet aware of multiple architectures so it would install the x86 operators. Therefore, if you want to install a demo, you need to always use the --skip-release flag for stackablectl. See the example in this section.

It is possible to run SDP demos on ARM64 architecture, but due to the changes that are necessary we have provided a separate branch to make this easier. Please follow the instructions below to run a demo on ARM.

You will need access to a Kubernetes Cluster and to have the stackablectl command-line tool installed.

1. Clone the demo repository

git clone git@github.com:stackabletech/demos.git

2. Checkout ARM64 demo branch (release 24.3.0)

cd demos && git pull && git checkout feature/demos-24.3.0-multi-arch

3. Install stackable operators (release 24.3.0)

This executes a script where all operators with version 24.3.0 are installed. You can omit this step and only install operators you want by copying the corresponding helm command.
./arm.sh

4. Install your demo with stackablectl (e.g. nifi-kafka-druid-earthquake-data)

stackablectl demo install nifi-kafka-druid-earthquake-data --skip-release -s stacks/stacks-v2.yaml -d demos/demos-v2.yaml