Skip to content

Commit 15427a7

Browse files
authored
Merge branch 'main' into policies
2 parents b712fb8 + 762a35d commit 15427a7

18 files changed

+1614
-1403
lines changed

modules/ROOT/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
* xref:quickstart.adoc[]
2+
* xref:kubernetes.adoc[]
23
* xref:getting_started.adoc[]

modules/ROOT/nav2.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
// This second nav file is for another menu entry at the end of the navigation menu
22
// see: https://docs.antora.org/antora/3.0/navigation/organize-files/#multiple-files-per-module
33
* xref:release_notes.adoc[Release Notes]
4+
* xref:product-information.adoc[]
5+
* xref:licenses.adoc[Licenses]

modules/ROOT/pages/getting_started.adoc

Lines changed: 3 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -12,60 +12,10 @@ Firstly, let’s cover whether this *Getting Started* guide is right for you. Th
1212
== Overview
1313
Stackable is based on Kubernetes and uses this as the control plane to manage clusters. In this guide we will build a simple cluster with 3 services; Apache ZooKeeper, Apache Kafka and Apache NiFi.
1414

15-
== Installing Kubernetes
16-
Stackable’s control plane is built around Kubernetes, and we'll give some brief examples of how to install Kubernetes on your machine.
15+
== Installing Kubernetes and kubectl
16+
Stackable’s control plane is built around Kubernetes. Follow the xref:kubernetes.adoc#local-installation[instructions] on how to set up a local Kubernetes instance if you do not have access to a cluster and install kubectl.
1717

18-
=== Installing kubectl
19-
20-
Stackable operators and their services are managed by applying manifest files to the Kubernetes cluster. For this purpose, you need to have the `kubectl` tool installed. Follow the instructions https://kubernetes.io/docs/tasks/tools/#kubectl[here] for your platform.
21-
22-
=== Installing Kubernetes using Kind
23-
Kind offers a very quick and easy way to bootstrap your Kubernetes infrastructure in Docker. The big advantage of this is that you can simply remove the Docker containers when you're finished and clean up easily, making it great for testing and development.
24-
25-
If you don't already have Docker then visit https://docs.docker.com/get-docker/[Docker Website] to find out how to install Docker. Kind is a single executable that performs the tasks of installing and configuring Kubernetes for you within Docker containers. The https://kind.sigs.k8s.io/docs/user/quick-start/[Kind Website] has instructions for installing Kind on your system.
26-
27-
Once you have both of these installed then you can build a Kubernetes cluster in Docker. We're going to create a simple, single node cluster to test out Stackable, with the one node hosting both the Kubernetes control plane and the Stackable services.
28-
29-
[source, bash]
30-
----
31-
kind create cluster --name quickstart
32-
----
33-
34-
=== Installing Kubernetes using K3s
35-
K3s provides a quick way of installing Kubernetes. On your control node run the following command to install K3s:
36-
37-
[source,bash]
38-
----
39-
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644
40-
----
41-
42-
So long as you have an Internet connection K3s will download and automatically configure a simple Kubernetes environment.
43-
44-
Create a symlink to the Kubernetes configuration from your home directory to allow tools like Helm to find the correct configuration.
45-
46-
[source,bash]
47-
----
48-
mkdir ~/.kube
49-
ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config
50-
----
51-
52-
53-
=== Testing your Kubernetes installation
54-
55-
To check if everything worked as expected you can use `kubectl cluster-info` to retrieve the cluster information. The output should look similar to:
56-
57-
----
58-
Kubernetes control plane is running at https://127.0.0.1:6443
59-
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
60-
----
61-
62-
If you set up your cluster using K3s you will additionally see the metrics server:
63-
64-
----
65-
Kubernetes control plane is running at https://127.0.0.1:6443
66-
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
67-
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy
68-
----
18+
If you already have kubectl installed, and have access to a Kubernetes cluster, you can skip this step.
6919

7020
== Installing Stackable
7121
=== Install stackablectl
@@ -134,7 +84,6 @@ metadata:
13484
spec:
13585
image:
13686
productVersion: "3.8.1"
137-
stackableVersion: "23.7"
13887
clusterConfig:
13988
tls:
14089
serverSecretClass: null
@@ -169,7 +118,6 @@ metadata:
169118
spec:
170119
image:
171120
productVersion: "3.4.0"
172-
stackableVersion: "23.7"
173121
clusterConfig:
174122
zookeeperConfigMapName: simple-kafka-znode
175123
tls:
@@ -220,7 +168,6 @@ metadata:
220168
spec:
221169
image:
222170
productVersion: "1.21.0"
223-
stackableVersion: "23.7"
224171
clusterConfig:
225172
listenerClass: external-unstable
226173
zookeeperConfigMapName: simple-nifi-znode

modules/ROOT/pages/kubernetes.adoc

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
= Kubernetes
2+
3+
The Stackable Data Platform runs on Kubernetes, a Kubernetes cluster is a prerequisite to running the platform. On this page you will find information on the supported Kubernetes distributions for production as well as how to set up a local test installation to try out parts of the platform right away.
4+
5+
[#supported-production-distributions]
6+
== Supported production distributions
7+
8+
The Stackable Data Platform requires a Kubernetes cluster to be present, where you can install things into. How to set up Kubernetes as well as a cluster depends on the distribution you chose.
9+
10+
The following distributions are supported for a production setup of the Stackable Data Platform:
11+
12+
include::partial$supported-kubernetes-distributions.adoc[]
13+
14+
In this version of the SDP, the following Kubernetes versions are supported:
15+
16+
include::partial$supported-kubernetes-versions.adoc[]
17+
18+
Consult the xref:release_notes.adoc[release notes] to find out which specific versions are supported for the Stackable Data Platform you are using.
19+
20+
[#local-installation]
21+
== Installing a testinging/development Kubernetes instance locally
22+
Stackable's control plane is built around Kubernetes, and we'll give some brief examples of how to install Kubernetes on your machine.
23+
24+
=== Installing kubectl
25+
26+
Stackable operators and their services are managed by applying manifest files to the Kubernetes cluster. For this purpose, you need to have the `kubectl` tool installed. Follow the instructions https://kubernetes.io/docs/tasks/tools/#kubectl[here] for your platform.
27+
28+
=== Installing Kubernetes using Kind
29+
Kind offers a very quick and easy way to bootstrap your Kubernetes infrastructure in Docker. The big advantage of this is that you can simply remove the Docker containers when you're finished and clean up easily, making it great for testing and development.
30+
31+
If you don't already have Docker then visit https://docs.docker.com/get-docker/[Docker Website] to find out how to install Docker. Kind is a single executable that performs the tasks of installing and configuring Kubernetes for you within Docker containers. The https://kind.sigs.k8s.io/docs/user/quick-start/[Kind Website] has instructions for installing Kind on your system.
32+
33+
Once you have both of these installed then you can build a Kubernetes cluster in Docker. We're going to create a simple, single node cluster to test out Stackable, with the one node hosting both the Kubernetes control plane and the Stackable services.
34+
35+
[source, bash]
36+
----
37+
kind create cluster --name quickstart
38+
----
39+
40+
=== Installing Kubernetes using K3s
41+
K3s provides a quick way of installing Kubernetes. On your control node run the following command to install K3s:
42+
43+
[source,bash]
44+
----
45+
curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644
46+
----
47+
48+
So long as you have an Internet connection K3s will download and automatically configure a simple Kubernetes environment.
49+
50+
Create a symlink to the Kubernetes configuration from your home directory to allow tools like Helm to find the correct configuration.
51+
52+
[source,bash]
53+
----
54+
mkdir ~/.kube
55+
ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config
56+
----
57+
58+
59+
=== Testing your Kubernetes installation
60+
61+
To check if everything worked as expected you can use `kubectl cluster-info` to retrieve the cluster information. The output should look similar to:
62+
63+
----
64+
Kubernetes control plane is running at https://127.0.0.1:6443
65+
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
66+
----
67+
68+
If you set up your cluster using K3s you will additionally see the metrics server:
69+
70+
----
71+
Kubernetes control plane is running at https://127.0.0.1:6443
72+
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
73+
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy
74+
----

modules/ROOT/pages/licenses.adoc

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
= Licenses for the Stackable Data Platform
2+
3+
The Stackable Data Platform is open source, and the source code of all the components can be found on GitHub. Licenses are also provided alongside the source code, in a file called `LICENSE`.
4+
5+
== Operators
6+
7+
Product Operators
8+
9+
* https://github.com/stackabletech/airflow-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache Airflow.
10+
* https://github.com/stackabletech/druid-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache Druid.
11+
* https://github.com/stackabletech/hbase-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache HBase.
12+
* https://github.com/stackabletech/hdfs-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache Hadoop HDFS.
13+
* https://github.com/stackabletech/hive-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache Hive.
14+
* https://github.com/stackabletech/kafka-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache Kafka.
15+
* https://github.com/stackabletech/nifi-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache NiFi.
16+
* https://github.com/stackabletech/spark-k8s-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache Spark.
17+
* https://github.com/stackabletech/trino-operator/blob/main/LICENSE[License] for the Stackable Operator for Trino.
18+
* https://github.com/stackabletech/zookeeper-operator/blob/main/LICENSE[License] for the Stackable Operator for Apache ZooKeeper.
19+
* https://github.com/stackabletech/opa-operator/blob/main/LICENSE[License] for the Stackable Operator for OpenPolicyAgent.
20+
21+
Additional Stackable Operators
22+
23+
* https://github.com/stackabletech/commons-operator/blob/main/LICENSE[License] for the Stackable Commons Operator.
24+
* https://github.com/stackabletech/secret-operator/blob/main/LICENSE[License] for the Stackable Secret Operator.
25+
* https://github.com/stackabletech/listener-operator/blob/main/LICENSE[License] for the Stackable Listener Operator.
26+
27+
== stackablectl
28+
29+
https://github.com/stackabletech/stackablectl/blob/main/LICENSE[License] for stackablectl.
30+
31+
== Product images
32+
33+
https://github.com/stackabletech/docker-images/blob/main/LICENSE[License] for the product Docker images.
34+
35+
The Docker images are built on the https://catalog.redhat.com/software/containers/ubi8/ubi-minimal/5c359a62bed8bd75a2c3fba8?container-tabs=overview[Red Hat ubi8-minimal base image]. It is https://www.redhat.com/licenses/EULA_Red_Hat_Universal_Base_Image_English_20190422.pdf[licensed seperately].
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
= Product information
2+
3+
This page contains concrete specifications about the Stackable Data Platform (SDP) as a product, which components are included, how they are supplied and which external dependencies exist that you as a customer need to take care of.
4+
5+
[#platform-components]
6+
== Platform components
7+
8+
The Stackable Platform is made up of multiple components. Operators for data products, Operators for additional functionality to facilitate easy integration between the different products, as well as the data products themselves. Auxiliary software to interact with the platform, as well as software to ease the deployment of platform components.
9+
10+
=== Data products and Kubernetes Operators
11+
12+
The main components of the SDP are a set of open source data products. The SDP control plane consists of corresponding Kubernetes Operators. Each Operator is supplied in a Docker <<containers, container>> image. For every Operator there is also a Helm Chart to facilitate installation via Helm. Operators for Products supported by the Platform deploy these products as <<containers, containers>> in Kubernetes.
13+
14+
Supported products:
15+
16+
* xref:airflow:index.adoc[Apache Airflow]
17+
* xref:druid:index.adoc[Apache Druid]
18+
* xref:hbase:index.adoc[Apache HBase] (including xref:hbase:usage-guide/phoenix.adoc[Apache Phoenix])
19+
* xref:hive:index.adoc[Apache Hive Metastore]
20+
* xref:hdfs:index.adoc[Apache Hadoop HDFS]
21+
* xref:kafka:index.adoc[Apache Kafka]
22+
* xref:nifi:index.adoc[Apache Nifi]
23+
* xref:spark-k8s:index.adoc[Apache Spark] (including xref:spark-k8s:usage-guide/history-server.adoc[Spark History Server])
24+
* xref:superset:index.adoc[Apache Superset]
25+
* xref:trino:index.adoc[Trino]
26+
* xref:zookeeper:index.adoc[Apache Zookeeper]
27+
28+
The product also includes the xref:opa:index.adoc[Open Policy Agent], and operators that provide additional functionality for managing and control SDP: xref:commons-operator:index.adoc[Commons], xref:secret-operator:index.adoc[Secret] and xref:listener-operator:index.adoc[Listener] Operator.
29+
30+
The pages linked above also detail the use cases and features supported by each component. You can find additional information in the xref:release_notes.adoc[release notes]. Refer to the xref:operators:supported_versions.adoc[list of supported product versions] to find out which product versions are supported.
31+
32+
33+
[#stackablectl]
34+
=== stackablectl
35+
36+
xref:stackablectl::index.adoc[stackablectl] is a commandline utility that makes it easier to install and interact with stackable components.
37+
38+
== Supported installation methods
39+
40+
[#containers]
41+
=== Operators and products
42+
43+
All operators are supplied in container images. The products are also deployed in container images.
44+
The docker images are available for download here: https://repo.stackable.tech/#browse/browse:docker
45+
46+
Stackable supports installing the Operators via https://helm.sh/[Helm] or with <<stackablectl>>.
47+
Every Operator includes installation instructions in the Getting started guide.
48+
49+
==== Helm Charts
50+
51+
The Helm Charts can be found here: https://repo.stackable.tech/#browse/browse:helm-stable Using the Helm Charts requires Helm version 3 or above.
52+
53+
54+
[#stackablectl-installation]
55+
=== stackablectl
56+
57+
stackablectl is available for download, pre-built binaries are available on GitHub. The download link and installation steps are provided in the xref:stackablectl::installation.adoc[installation documentation].
58+
59+
== System requirements
60+
61+
=== Operators
62+
63+
Every Operator needs:
64+
65+
* 0.2 cores (i.e. i5 or similar)
66+
* 256MB RAM
67+
68+
=== stackablectl
69+
70+
Hardware requirements and supported operating systems can be found in the xref:stackablectl::installation.adoc#system-requirements[system requirements section] of the stackablectl documentation.
71+
72+
=== Stackable Data Platform Open Source Products
73+
74+
The system requirements of each open source product depend on your specific use case. In the xref:stackablectl::demos/index.adoc[demos] you can find example use cases; every demo also has a _System requirements_ section which can provide a guideline for system sizing. Further example sizings can be found at https://ci.stackable.tech/job/<product>-operator-it-summary/ (where `<product>` is i.e. _druid_, _hbase_, etc.) in the `cluster-info.txt` file. These are the cluster sizes used for integration tests, and can be regarded as working cluster configurations.
75+
76+
== Prerequisites and required external components
77+
78+
Required external components are components that are required for the platform or parts of it to operate, but are not part of the Stackable Data Platform. Note that Stackable does neither distribute nor offer support for the external components.
79+
80+
=== Kubernetes
81+
82+
A Kubernetes cluster is required to install the Stackable Data Platform. The supported Kubernetes versions are:
83+
84+
include::partial$supported-kubernetes-versions.adoc[]
85+
86+
There are various Kubernetes distributions. Stackable supports:
87+
88+
include::partial$supported-kubernetes-distributions.adoc[]
89+
90+
=== Product specific dependencies
91+
92+
The following products have required external components to run:
93+
94+
* xref:airflow:required-external-components.adoc[Apache Airflow]
95+
* xref:druid:required-external-components.adoc[Apache Druid]
96+
* xref:hive:required-external-components.adoc[Apache Hive]
97+
* xref:superset:required-external-components.adoc[Apache Superset]
98+
99+
== Optional and technology preview components
100+
101+
=== Optional components
102+
103+
Stackable software can be used with xref:stackablectl::demos/index.adoc[sample configurations] and third-party components, as outlined in the relevant documentation. These external components are not part of of the stackable products and can be used by the customer at their own risk. Stackable does not distribute these components and does not offer support for them. (See <<platform-components,Platform components>> above for a list of the supported components that are part of the platform)
104+
105+
=== Technology preview components
106+
107+
Some functionality of the platform might be labelled as _technology preview_. Stackable does not offer support for technology preview components, and therefore discourages their use in a production setting. Using these features/components is done so at your own risk. Customers are encouraged to provide feedback and suggestions for improvements on preview components. Neither Stackable nor third parties or licensees are obligated to distribute technology preview components or include them into the product. Technology preview components might be discontinued at any time.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
* https://aws.amazon.com/eks/[Amazon Elastic Kubernetes Service]
2+
* https://azure.microsoft.com/en-gb/products/kubernetes-service[Microsoft Azure Kubernetes Service]
3+
* https://cloud.google.com/kubernetes-engine[Google Kubernetes Engine]
4+
* https://cloud.ionos.com/managed/kubernetes[IONOS Managed Kubernetes]
5+
* https://www.rancher.com/products/rancher[SUSE Rancher]
6+
* https://www.suse.com/products/k3s/[SUSE K3S]
7+
* https://www.redhat.com/en/technologies/cloud-computing/openshift[Red Hat OpenShift] 4.10, 4.11

modules/ROOT/partials/supported-kubernetes-versions.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
// This is a separate file to refer to the version at multiple places
33
// in the documentation
44

5-
- 1.21
6-
- 1.22
7-
- 1.23
5+
- 1.26
6+
- 1.25
7+
- 1.24

0 commit comments

Comments
 (0)