Back to Charts

⚠️ Repo Archive Notice

stable/luigi/README.md

latest4.5 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

⚠️ Chart Deprecated

Luigi Scheduler

Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.

TL;DR;

console
$ helm install incubator/luigi

Introduction

This chart bootstraps a Luigi deployment on a Kubernetes cluster using the Helm package manager.

Installing the Chart

To install the chart with the release name my-release:

console
$ helm install --name my-release stable/luigi

Uninstalling the Chart

To uninstall/delete the my-release deployment:

console
$ helm delete my-release --purge

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

Luigi Configuration

Luigi configs are set as a block of text through a configmap and mouted as a file in /etc/luigi. Any value in this text block should match the defined luigi configuration. There are several values here that will have to match our kubernetes configuration.

Configuration

The following table lists the configurable parameters of the Luigi chart and their default values.

ParameterDescriptionDefault
image.repositoryLuigi imagegetpolymorph/luigi
image.tagLuigi image tag2.7.2
image.pullPolicyLuigi image pull policyIfNotPresent
service.nameLuigi service nameluigi
service.typeThe kube service typeLoadBalancer
service.externalPortThe service external port3000
service.internalPortThe service internal port8082
service.configThe luigi service configsView this default in the values.yaml file
persistence.enabledPersistence flagfalse
ingressUI.enabledUI Ingress Flagfalse
ingressAPI.enabledAPI Ingress Flagfalse

Dependent charts can also have values overwritten. Preface values with postgresql.* or redis.*

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

console
$ helm install --name my-release \
  --set persistence.enabled=false,email.host=email \
    stable/luigi

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

console
$ helm install --name my-release -f values.yaml stable/luigi

Read through the values.yaml file. It has several commented out suggested values.

Persistence

Luigi requires a pickled state file. To maintain state after a restart you'll need to enable persistence. --set persistence.enabled=true

Ingress

This chart provides support for two Ingress resources. This is to allow authentication in the ui via reverse proxy with something like oauth-proxy and a separate form of authentication for luigi worker access.