Skip to content

Commit 94a6e86

Browse files
Add concepts page for product image selection (#320)
* Add concepts page for product image selection * some rewriting * review Co-authored-by: maltesander <[email protected]>
1 parent 06ea6f5 commit 94a6e86

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

modules/concepts/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
** xref:s3.adoc[]
66
** xref:pvc.adoc[]
77
** xref:resources.adoc[]
8+
** xref:product_image_selection.adoc[]
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
= Product image selection
2+
3+
All products of the Stackable Data Platform run on Kubernetes and are managed by Stackable Operators.
4+
One operator is responsible for exactly one product like Apache Spark.
5+
The products are deployed using `Pods` and their `Containers` to initialize and run the respective product.
6+
Containers require images (e.g. Docker) to run of.
7+
These images contain different tools for initialization jobs and/or the actual product itself.
8+
Images are prepared for different architectures and different product versions.
9+
10+
There are multiple ways to specify the image used:
11+
12+
== Stackable provided images
13+
14+
If your Kubernetes cluster has internet access, the easiest way is to use the publicly available Images from the https://docker.stackable.tech/[Image registry hosted by Stackable].
15+
If the Kubernetes cluster does not have internet access, a xref:_custom_docker_registry[] or xref:_custom_images[] can be used.
16+
17+
Currently, you need to specify two versions:
18+
19+
1. **Product version:** The version of the product, as it e.g. can be found on the xref:operators:supported_versions.adoc[list of supported product versions] or on the website of the product itself.
20+
2. **Stackable version:** As we need to make changes to the Images from time to time (e.g. security updates), we also have to version them using the Stackable version.
21+
All the available images (with their product and stackable version) can be found in our https://repo.stackable.tech/#browse/browse:docker:v2%2Fstackable[docker repository].
22+
23+
The versions need to be specified on Stackable products as follows:
24+
25+
[source,yaml]
26+
----
27+
spec:
28+
image:
29+
productVersion: 3.3.1
30+
stackableVersion: 0.1.0
31+
----
32+
33+
== Custom docker registry
34+
35+
Custom docker registries can be used to fetch the image from a local image registry rather than from the internet.
36+
The perquisite is that you mirror all the required images the same way (with the same name and tag) as the images provided by Stackable.
37+
38+
Afterwards you can use the following snippet to configure your custom docker repo:
39+
40+
[source,yaml]
41+
----
42+
spec:
43+
image:
44+
productVersion: 3.3.1
45+
stackableVersion: 0.1.0
46+
repo: my.corp/myteam/stackable
47+
----
48+
49+
This will change the image from the default Stackable repository `docker.stackable.tech/stackable/kafka:3.3.1-stackable0.1.0` to `my.corp/myteam/stackable/kafka:3.3.1-stackable0.1.0`.
50+
51+
== Custom images
52+
53+
Custom images can be used to fetch arbitrary images from local or public registries.
54+
In comparison to the xref:_custom_docker_registry[], this allows to provide self-hosted or user-created images (e.g. user extended Stackable images).
55+
If your image has other tags or names than the ones provided by Stackable you need to use this option.
56+
57+
[source,yaml]
58+
----
59+
spec:
60+
image:
61+
custom: my.corp/myteam/stackable/kafka:latest-and-greatest
62+
productVersion: 3.3.1
63+
----
64+
65+
The Stackable Operators configure their respective products based on the product version.
66+
This affects e.g. configuration properties or available features.
67+
Therefore, the operators are dependent on the product and its product version contained in the custom image.
68+
It's your responsibility to put in the correct product version.

0 commit comments

Comments
 (0)