-
Notifications
You must be signed in to change notification settings - Fork 2
Add descriptions #279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Add descriptions #279
Changes from 3 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
bfb040e
Add descriptions
f2d9075
Update installation instructions
6a69fdf
Add newline to end of file
6797b06
Update docs/modules/commons-operator/pages/index.adoc
fhennig 6c06084
Update docs/modules/commons-operator/pages/index.adoc
fhennig a2fdf99
Update docs/modules/commons-operator/pages/index.adoc
fhennig 64ea545
Update docs/modules/commons-operator/pages/pod-enrichment.adoc
fhennig 759da06
Update docs/modules/commons-operator/pages/restarter.adoc
fhennig 2a4bf1a
Update docs/modules/commons-operator/pages/installation.adoc
fhennig File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,25 @@ | ||
| = Stackable Commons Operator | ||
| :description: Learn about shared objects (AuthenticationClass, S3Bucket and S3Connection) and shared functionality (Pod enrichting, restarting) on the Stackable Data Platform. | ||
| :github: https://github.com/stackabletech/commons-operator/ | ||
| :crd: {crd-docs-base-url}/commons-operator/{crd-docs-version}/ | ||
|
|
||
| [.link-bar] | ||
| * {github}[GitHub {external-link-icon}^] | ||
| * {crd}[CRD documentation {external-link-icon}^] | ||
|
|
||
| This is an operator for Kubernetes that provides and manages common objects of the Stackable Data Platform. | ||
| Have a look at the CRD documentation linked above to see the the custom resources that this operator deploys. | ||
| Unlike most other operators on the Stackable Data Platform, the Stackable commons operator does not manage any particular Stacklet, but rather provides shared functionality and resource definitions that are used by the other operators. | ||
|
|
||
| == Common resources | ||
|
|
||
| The _commons_ Kubernetes operator for the Stackable Data Platform provides and manages resources that are not tied to any particular data product, but usually shared among multiple products. | ||
| These are the _AuthenticationClass_ for configuring authentication mechanisms, and the _S3Bucket_ and _S3Connection_ for configuring S3 object storage. | ||
| Usually all tools in a data platform that require authentication will be configured to use the same authentication mechanism, so the AuthenticationClass provides a single configuration point for authentication methods, which can then be referenced in multiple data products. | ||
| Likewise, the S3 related objects provide single configuration points for S3 storage, which is then referenced in multiple products. | ||
|
|
||
| Because these objects are used throughout the whole platform, the documentation is also mostly found at the platform level. | ||
| Read the xref:concepts:authentication.adoc[authentication] concepts page to learn about the AuthenticationClass and learn about S3 on the xref:concepts:s3.adoc[S3 resources] page. | ||
| You can also find the full CRD refererence documentation for all objects linked above. | ||
|
|
||
| == Shared functionality: Pod enriching and restarting | ||
fhennig marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The commons operator also xref:pod-enrichment.adoc[adds additional information to Pods] which would otherwise have to be inferred and takes care of xref:restarter.adoc[restarting] Pods when necessary, for example to reload configuration settings in Pods that don't support hot reloading. | ||
fhennig marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,19 +1,17 @@ | ||
| = Pod Enricher | ||
| = Pod enricher | ||
| :description: Automatically enrich Pods with Node address info using Stackable Commons Operator by enabling the enrichment label. | ||
fhennig marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The Stackable Commons Operator automatically adds commonly used information to `Pod` objects, which | ||
| would otherwise have to be inferred by traversing the Kubernetes object graph. | ||
| The Stackable Commons Operator automatically adds commonly used information to Pod objects, which would otherwise have to be inferred by traversing the Kubernetes object graph. | ||
|
|
||
| == Usage | ||
|
|
||
| The pod enricher is only enabled for `Pod` objects that set the label `enrichment.stackable.tech/enabled` to `true`. | ||
| To enable the pod enricher for a Pod, set the label `enrichment.stackable.tech/enabled` to `true`. | ||
|
|
||
| == Node Address | ||
| == Which information is added to the Pod? | ||
|
|
||
| Annotation:: `enrichment.stackable.tech/node-address` | ||
|
|
||
| The hostname or IP address of the `Node` that the `Pod` is scheduled to run on. | ||
| Compared to `Pod.status.nodeIP`, this can also (but doesn't have to) be a hostname, and prefers | ||
| externally routable addresses. | ||
| The hostname or IP address of the Node that the Pod is scheduled to run on. | ||
| Compared to `Pod.status.nodeIP`, this can also (but doesn't have to) be a hostname, and prefers externally routable addresses. | ||
|
|
||
| This is intended to be used for components that need to register an accessible address (such as Kafka brokers, | ||
| or HDFS DataNodes). | ||
| This is intended to be used for components that need to register an accessible address (such as Kafka brokers, or HDFS DataNodes). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| = CRD Reference | ||
| = CRD reference | ||
|
|
||
| Find all CRD reference for the Stackable Commons Operator at: {crd-docs-base-url}/commons-operator/{crd-docs-version}. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,35 +1,32 @@ | ||
| = Restarter | ||
| :description: Automatically restart Pods or StatefulSets using Stackable Commons Operator based on expiration dates or stale configurations. | ||
|
|
||
| The Stackable Commons Operator can automatically restart `Pod` objects based on certain criteria. This can be applied to | ||
| either the `Pod` or certain controller objects (such as `StatefulSet`). | ||
| The Stackable Commons Operator can automatically restart Pod objects based on certain criteria. | ||
| This can be applied to either the Pod or certain controller objects (such as StatefulSet). | ||
|
|
||
| == `Pod` | ||
| == Pod | ||
|
|
||
| Pods are evicted when any of their restart criteria (listed below) expire, with the expectation that their owning controller | ||
| is then responsible for restarting them. | ||
| Pods are evicted when any of their restart criteria (listed below) expire, with the expectation that their owning controller is then responsible for restarting them. | ||
|
|
||
| Because they are evicted rather than deleted, this process should respect `PodDisruptionBudget` constraints, allowing users | ||
| to ensure that clusters are restarted gracefully. | ||
| Because they are evicted rather than deleted, this process should respect PodDisruptionBudget constraints, allowing users to ensure that clusters are restarted gracefully. | ||
|
|
||
| === Expiration date | ||
|
|
||
| Annotation:: `restarter.stackable.tech/expires-at.\{tag\}` | ||
|
|
||
| Pods can be configured to expire at a certain point in time. In this case, the `Pod` should have the annotation | ||
| `restarter.stackable.tech/expires-at.\{tag\}` set to a datetime formatted according to RFC 3339 (such as | ||
| `"2022-04-21T13:24:15.225774724+00:00"`). | ||
| Pods can be configured to expire at a certain point in time. | ||
| In this case, the Pod should have the annotation `restarter.stackable.tech/expires-at.\{tag\}` set to a datetime formatted according to RFC 3339 (such as `"2022-04-21T13:24:15.225774724+00:00"`). | ||
| `\{tag\}` should be a deterministic but unique ID identifying the reason for the expiry. | ||
|
|
||
| Multiple `expires-at` annotations can be set on the same `Pod`, in which case the *earliest* expiration datetime | ||
| takes precedence. | ||
| Multiple `expires-at` annotations can be set on the same Pod, in which case the *earliest* expiration datetime takes precedence. | ||
|
|
||
| == `StatefulSet` | ||
| == StatefulSet | ||
|
|
||
| StatefulSets are rolling-restarted when any of their restart criteria (listed below) expire. | ||
|
|
||
| === Stale configuration | ||
|
|
||
| Label:: `restarter.stackable.tech/enabled` | ||
|
|
||
| StatefulSets can be configured to restart when any referenced configuration object (`ConfigMap` or `Secret`) changes. | ||
| To enable this, set the `restarter.stackable.tech/enabled` label on the `StatefulSet` to `true`. | ||
| StatefulSets can be configured to restart when any referenced configuration object (ConfigMap or Secret) changes. | ||
fhennig marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| To enable this, set the `restarter.stackable.tech/enabled` label on the StatefulSet to `true`. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.