Skip to main content

All in one

All In One helm chart which contains all dependencies in a single package.

TLDR

$ helm repo add ilum https://charts.ilum.cloud
$ helm install ilum ilum/ilum
$ kubectl port-forward svc/ilum-ui 9777:9777

Installing the Chart

To install the chart with the release name ilum:

$ helm install --dependency-update ilum ilum/ilum

The command deploys ilum on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the ilum deployment:

$ helm delete ilum

The command removes all the Kubernetes components associated with the chart and deletes the release.

Parameters

All the default parameters to ilum components are provided in values.yaml file.

They are configured with some default values for ilum to be operational just out of the box.

To check all supported parameters and their default values visit README.md files in ilum-core and ilum-ui charts.

Example deployments

Using kafka as a communication type

helm install --dependency-update --set kafka.enabled=true --set ilum-core.communication.type=kafka ilum ilum/ilum

Using gRPC as a communication type (default)

helm install --dependency-update ilum ilum/ilum

Using gRPC as a communication type and gRPC port exposed

e.g. for Yarn to be able to reach gRPC service

helm install --dependency-update --set kafka.enabled=false --set ilum-core.communication.type=grpc --set ilum-core.grpc.host=<k8s-exposed-host> --set ilum-core.grpc.nodePort=<k8s-exposed-port> --set ilum-core.grpc.type=NodePort ilum ilum/ilum

ilum-livy-proxy

Please be aware, that ilum-livy-proxy is not bundled in ilum package by default. If you want to run this service, add --set ilum-livy-proxy.enabled=true to your installation command.

Jupyter

Please be aware, that Jupyter notebook is not bundled in ilum package by default. If you want to run this service, add --set ilum-jupyter.enabled=true to your installation command.

Zeppelin

Please be aware, that Zeppelin notebook is not bundled in ilum package by default. If you want to run this service, add --set ilum-zeppelin.enabled=true to your installation command.

ilum-core

TLDR

$ helm repo add ilum https://charts.ilum.cloud
$ helm install ilum-core ilum/ilum-core

Installing the Chart

To install the chart with the release name ilum-core:

$ helm install ilum-core ilum/ilum-core

The command deploys ilum-core on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the ilum-core deployment:

$ helm delete ilum-core

The command removes all the Kubernetes components associated with the chart and deletes the release.

Parameters

Common parameters

NameDescriptionValue
nameOverrideString to partially override ilum-core.fullname template (will maintain the release name)""
fullnameOverrideString to fully override ilum-core.fullname template""

ilum-core deployment parameters

NameDescriptionValue
imageilum-core imagedocker.ilum.cloud/ilum-core:5.1.0
pullPolicyilum-core image pull policyIfNotPresent

ilum-core communication parameters

NameDescriptionValue
communication.typeilum-core communication type with spark jobs, available options: grpc, kafkagrpc

ilum-core service parameters

NameDescriptionValue
service.typeilum-core service typeClusterIP
service.portilum-core service port9888
service.nodePortilum-core service node port - required when type is LoadBalancer or NodePort""
service.clusterIPilum-core service cluster IP - required when type is ClusterIP""
service.loadBalancerIPilum-core service load balancer IP - required when type is LoadBalancer""

ilum-core ingress parameters

NameDescriptionValue
ingress.enabledilum-core ingress enabled flagfalse
ingress.versionilum-core ingress versionv1
ingress.classNameilum-core ingress class name""
ingress.hostilum-core ingress hosthost
ingress.tlsilum-core ingress tls configuration[]
ingress.tls[x].secretNameilum-core ingress secret name to apply for a single tls configuration entry
ingress.tls[x].hostsilum-core ingress hosts list to apply for a single tls configuration entry
ingress.annotationsilum-core ingress annotations in yaml formatnginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/proxy-body-size: "600m"
nginx.org/client-max-body-size: "600m"
ingress.pathilum-core ingress path/(.*)
ingress.pathTypeilum-core ingress pathTypePrefix

ilum-core livenessProbe/readinessProbe parameters

NameDescriptionValue
readinessProbeilum-core readinessProbe configuration
readinessProbe:
failureThreshold: 3
httpGet:
path: /api/dev/reactive/health
port: http
scheme: HTTP
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
livenessProbeilum-core livenessProbe configuration
livenessProbe:
failureThreshold: 3
httpGet:
path: /api/dev/reactive/health
port: http
scheme: HTTP
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1

ilum-core mongo parameters

NameDescriptionValue
mongo.instancesilum-core mongo instances to connect tomongo:27017
mongo.replicaSetNameilum-core mongo replica set namers0

ilum-core kafka parameters

NameDescriptionValue
kafka.addressilum-core kafka address to connect tokafka:9092

ilum-core grpc service parameters

NameDescriptionValue
grpc.service.typeilum-core grpc service typeClusterIP
grpc.service.portilum-core grpc service port9999
grpc.service.nodePortilum-core grpc service node port - required when type is LoadBalancer or NodePort""
grpc.service.clusterIPilum-core grpc service cluster IP - required when type is ClusterIP""
grpc.service.loadBalancerIPilum-core grpc service load balancer IP - required when type is LoadBalancer""

ilum-core grpc parameters for spark job

NameDescriptionValue
grpc.job.hostilum-core grpc host for spark job to connect toilum-grpc
grpc.job.portilum-core grpc port for spark job to connect to9999

ilum-core kubernetes cluster initializer parameters

NameDescriptionValue
kubernetes.initClusterOnStartupilum-core default kubernetes cluster initialization flagtrue
kubernetes.api.urlilum-core default kubernetes cluster api urlhttps://kubernetes.default.svc
kubernetes.container.imageilum-core default kubernetes cluster container imagedocker.ilum.cloud/ilum-spark:3.3.0
kubernetes.sparkNamespaceilum-core default kubernetes cluster namespace to store spark resources{{ .Release.Namespace }}
kubernetes.s3.hostilum-core default kubernetes cluster S3 storage host to store spark resourcess3
kubernetes.s3.portilum-core default kubernetes cluster S3 storage port to store spark resources7000
kubernetes.s3.bucketilum-core default kubernetes cluster S3 storage bucket to store spark resourcesilum-files
kubernetes.s3.accessKeyilum-core default kubernetes cluster S3 storage access key to store spark resources""
kubernetes.s3.secretKeyilum-core default kubernetes cluster S3 storage secret key to store spark resources""

Important! Make sure S3 bucket is already created and reachable!

ilum-core security parameters

NameDescriptionValue
security.admin.usernameilum-core admin usernameadmin
security.admin.passwordilum-core admin passwordadmin
security.token.expirationilum-core token expiration time in hours24

ilum-core license parameters

NameDescriptionValue
license.privateKeyilum license key""

ilum-ui

TLDR

$ helm repo add ilum https://charts.ilum.cloud
$ helm install ilum-ui ilum/ilum-ui

Installing the Chart

To install the chart with the release name ilum-ui:

$ helm install ilum-ui ilum/ilum-ui

The command deploys ilum-ui on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the ilum-ui deployment:

$ helm delete ilum-ui

The command removes all the Kubernetes components associated with the chart and deletes the release.

Parameters

Common parameters

NameDescriptionValue
nameOverrideString to partially override ilum-ui.fullname template (will maintain the release name)""
fullnameOverrideString to fully override ilum-ui.fullname template""

ilum-ui deployment parameters

NameDescriptionValue
imageilum-ui imagedocker.ilum.cloud/ilum-ui:5.1.0
pullPolicyilum-ui image pull policyIfNotPresent

ilum-ui service parameters

NameDescriptionValue
service.typeilum-ui service typeClusterIP
service.portilum-ui service port9777
service.nodePortilum-ui service node port - required when type is LoadBalancer or NodePort""
service.clusterIPilum-ui service cluster IP - required when type is ClusterIP""
service.loadBalancerIPilum-ui service load balancer IP - required when type is LoadBalancer""

ilum-ui ingress parameters

NameDescriptionValue
ingress.enabledilum-ui ingress enabled flagfalse
ingress.versionilum-ui ingress versionv1
ingress.classNameilum-ui ingress class name""
ingress.tlsilum-ui ingress tls configuration[]
ingress.tls[x].secretNameilum-ui ingress secret name to apply for a single tls configuration entry
ingress.tls[x].hostsilum-ui ingress hosts list to apply for a single tls configuration entry
ingress.annotationsilum-ui ingress annotations in yaml formatnginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/proxy-body-size: "600m"
nginx.org/client-max-body-size: "600m"
ingress.pathilum-core ingress path/(.*)
ingress.pathTypeilum-core ingress pathTypePrefix