Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
388fccd
Fixing typo
Maleware Jan 16, 2024
0ce3019
First draft of arm64 article
Maleware Jan 16, 2024
503adc5
Fix code box
Maleware Jan 16, 2024
e61eeaa
Copyable codeboxes
Maleware Jan 16, 2024
191db63
Copyable codeboxes fix
Maleware Jan 16, 2024
149cc6c
Header instead of list
Maleware Jan 16, 2024
458cd53
adding git pull to checkout
Maleware Jan 16, 2024
3e37dd8
Formatting
Maleware Jan 16, 2024
43e5e80
More formatting
Maleware Jan 16, 2024
eadab91
Spell and Style fixes
Maleware Jan 16, 2024
98601ea
Review edits.
Jimvin Feb 19, 2024
a9bcbf9
Removing listener note
Maleware Feb 19, 2024
1d60654
Merge branch 'feature/arm-experimental' of https://github.com/stackab…
Maleware Feb 19, 2024
61302bf
Removing listener note
Maleware Feb 19, 2024
d3a9023
Merge branch 'main' into feature/arm-experimental
Maleware Feb 20, 2024
28bec1d
felix comments
Maleware Feb 20, 2024
50a4dd2
felix comments 2
Maleware Feb 20, 2024
be466f9
adding to nav.adoc
Maleware Feb 20, 2024
13b9098
Adding ARM64 to index
Maleware Feb 20, 2024
e99b254
remove self reference
Maleware Feb 20, 2024
75f18d6
page aliases and new ref
Maleware Feb 20, 2024
3a8ff56
making it more a doc page
Maleware Feb 26, 2024
4809d3c
Try to get it deployed
Maleware Feb 26, 2024
1007e78
Merge branch 'main' into feature/arm-experimental
Maleware Feb 26, 2024
b5c2e90
Fixing Tag
Maleware Feb 26, 2024
fc5ef93
Apply suggestions from code review
Maleware Feb 27, 2024
6ee38e5
Little typo
Maleware Feb 27, 2024
ab265b8
one more comment
Maleware Feb 27, 2024
5f4069c
Adding Felix comments
Maleware Feb 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions modules/concepts/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*** xref:roles-and-role-groups.adoc[]
*** xref:product_image_selection.adoc[]
*** xref:overrides.adoc[Advanced: overrides]
*** xref:arm64-support.adoc[]
** Resources
*** xref:resources.adoc[]
*** xref:s3.adoc[]
Expand Down
74 changes: 74 additions & 0 deletions modules/concepts/pages/arm64-support.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
= Multi-Architecture for SDP (Experimental)
:description: This page describes how to access ARM64 based SDP early
:keywords: Multi-Architecture, infrastructure, docker, image, tags, early-access

WARNING: This is an experimental feature of the Stackable Data Platform and still under https://github.com/stackabletech/issues/issues/463[development].

== Early-Access

SDP release 23.11.0 has been ported to the ARM64 architecture. These images are stored within the `stackable-experimental` organization in our https://repo.stackable.tech/#browse/browse:docker:v2%2Fstackable-experimental[Nexus].

As they are not available by default so you need to first switch to the `stackable-experimental` organization before pulling them for use with the data platform.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not available to whom? By what? How do I switch?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Through our default access ways. Default refers to docker.stackable.tech/stackable/....

I understand you need to somehow know what I mean. Is this more clear? :

switch from docker.stackable.tech/stackable to docker.stackable.tech/stackable-experimental before pulling images from the repository.


=== Actual Releases

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

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

=== Early-Access with Helm

According to our https://docs.stackable.tech/home/stable/airflow/getting_started/installation#_helm[installation guide] you can install ARM64 operators e.g. for the commons operator as follows:

[source,bash]
----
helm install commons-operator stackable-stable/commons-operator --namespace stackable-operators --create-namespace --version=23.11.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.

WARNING: You have to install every operator you need for a given demo individually with helm using `--skip-release` with stackablectl. Otherwise, it will try to install x86 operators and pull ARM64 product images afterwards.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what this sentence means? The docs so far only mention helm and helm is used to install the operators? This is confusing.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we have to install operators using helm and using stackablectl --skip-release to install a demo. This is because stackablectl operator install kafka=23.11.0 would point to docker.stackable.tech/stackable/kafka-operator:23.11.0 .

I see that this is bad timing to hint it and I overlooked helm *and* using. Would this make it more clear?

I want to inform about --skip-release as it would only be mentioned in the command on the bottom.


=== Early-Access to our products

The https://docs.stackable.tech/home/stable/concepts/product_image_selection[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:

[source,yaml]
----
spec:
image:
custom: docker.stackable.tech/stackable-experimental/kafka:3.5.1-stackable23.11.0
productVersion: 3.5.1
----

NOTE: Only 23.11.0 is working at this moment.

=== Prepared Demos

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 https://docs.stackable.tech/home/stable/quickstart[command-line tool] installed.
Comment thread
lfrancke marked this conversation as resolved.

==== 1. Clone the demo repository
[source,bash]
----
git clone git@github.com:stackabletech/demos.git
----

==== 2. Checkout ARM64 demo branch ( release 23.11.0 )
[source,bash]
----
cd demos && git pull && git checkout spike/demos-on-arm
----
==== 3. Install stackable operators ( release 23.11.0 )
NOTE: This executes a script where all operators with version 23.11.0 are installed. You can omit this step and only install operators you want by copying the corresponding `helm` command.

[source,bash]
----
./arm.sh
----
==== 4. Install your demo with stackablectl (e.g. nifi-kafka-druid-earthquake-data)
[source,bash]
----
stackablectl demo install nifi-kafka-druid-earthquake-data --skip-release -s stacks/stacks-v2.yaml -d demos/demos-v2.yaml
----
1 change: 1 addition & 0 deletions modules/concepts/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ There is also the common xref:overrides.adoc[override] mechanism for configurati

Learn about how xref:resources.adoc[] are configured; this covers CPU, memory and storage.
Learn about how xref:s3.adoc[] are configured across the platform.
Learn about how to access xref:experimental-arm64-support[ARM64-support].

== Connectivity

Expand Down
2 changes: 1 addition & 1 deletion modules/contributor/pages/docs-style-guide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Read the {asciidoc-recommended-practices} for more.

== Formatting: Kubernetes style guide

Since the Stackable Data Platform ist built on Kubernetes, the resources mentioned in our documentation are very similar to the ones mentioned in the Kubernetes documentation, so we follow the {kubernetes-style-guide} for formatting of code, Kubernetes resources and objects. Some examples:
Since the Stackable Data Platform is built on Kubernetes, the resources mentioned in our documentation are very similar to the ones mentioned in the Kubernetes documentation, so we follow the {kubernetes-style-guide} for formatting of code, Kubernetes resources and objects. Some examples:

* https://kubernetes.io/docs/contribute/style/style-guide/#use-upper-camel-case-for-api-objects[Use PascalCase for API objects] such as ConfigMap or KafkaCluster
* https://kubernetes.io/docs/contribute/style/style-guide/#use-italics-to-define-or-introduce-new-terms[Use _italics_ to define or introduce new terms]
Expand Down