Next steps
The next steps after the first cluster is the customization. It can be done by adding any kind of custom transformation or reuse ready-to-use transformations.
> flekszible transformation search
+---------------------+--------------------------------------------------------------------------------------------+
| name | description |
+---------------------+--------------------------------------------------------------------------------------------+
| Namespace | Use explicit namespace |
| Pipe | Transform content with external shell command. |
| Remove | Remove yaml fragment from an existing k8s resources |
| ozone/emptydir | Add empty dir based ephemeral persistence |
| ozone/onenode | remove scheduling rules to make it possible to run multiple datanode on the same k8s node. |
| ozone/persistence | Add real PVC based persistence |
| ozone/profiler | Enable profiler endpoint. |
| Add | Extends yaml fragment to an existing k8s resources |
| Image | Replaces the docker image definition |
| Prefix | Add same prefix to all the k8s names |
| ozone/devtracing | Enable jaeger tracing for ALL the requests (100% sampling) |
| ozone/grafana | Enable grafana for ozone dashboards |
| ozone/memdisk | Use memdisks for empty dirs |
| ozone/ozonefs | copy ozonefs jar file to a temporary emptydir volume |
| Change | Replace existing value literal in the yaml struct |
| ConfigHash | Add labels to the k8s resources with the hash of the used configmaps |
| DaemonToStatefulSet | Converts daemonset to statefulset |
| K8sWriter | Internal transformation to print out k8s resources as yaml |
| PublishService | Creates additional service for internal services |
| Replace | Replace a yaml subtree with an other one. |
| ozone/tracing | Enable jaeger tracing |
| PublishStatefulSet | Creates additional NodeType service for StatefulSet internal services |
| zookeeper/scale | Set the number of the zookeeper replicas. |
| ozone/prometheus | Enable prometheus monitoring in Ozone |
+---------------------+--------------------------------------------------------------------------------------------+
The prefixed transformations (like zookeeper/scale
) are usually combined, pre-defined transformation, you can apply it with command line (flekszible transformation add ozone/emptydir
) or with editing the Flekszible
descriptor.
(Note: all the previous command line just modified this descriptor)
In this example we imported Ozone app, with a transformation which adds emptyDir based persistence:
Content of Flekszible
:
import:
- path: ozone
transformations:
- type: ozone/emptydir
In the next example we imported kafka, kafka-demo, flink, but the flink resources are transformed to add a custom imagePullPolicy
:
Content of Flekszible
:
import:
- path: kafka
- path: kafka-demo
- path: flink
transformations:
- type: add
path:
- spec
- template
- spec
- containers
- ".*"
value:
imagePullPolicy: IfNotPresent