Version: 0.7.0

Customizable install with Helm

Prerequisites

Introduction

This Helm chart install NiFiKop the Orange's Nifi Kubernetes operator to create/configure/manage NiFi clusters in a Kubernetes Namespace.

It will use Custom Ressources Definition CRDs:

  • nificlusters.nifi.orange.com,
  • nifiusers.nifi.orange.com,
  • nifiusergroups.nifi.orange.com,
  • nifiregistryclients.nifi.orange.com,
  • nifiparametercontexts.nifi.orange.com,
  • nifidataflows.nifi.orange.com,

Configuration

The following tables lists the configurable parameters of the NiFi Operator Helm chart and their default values.

ParameterDescriptionDefault
image.repositoryImageorangeopensource/nifikop
image.tagImage tagv0.7.0-release
image.pullPolicyImage pull policyAlways
image.imagePullSecrets.enabledEnable tue use of secret for docker imagefalse
image.imagePullSecrets.nameName of the secret to connect to docker registry-
certManager.enabledEnable cert-manager integrationtrue
rbacEnableIf true, create & use RBAC resourcestrue
resourcesPod resource requests & limits{}
metricServicedeploy service for metricsfalse
debug.enabledactivate DEBUG log levelfalse
certManager.clusterScopedIf true setup cluster scoped resourcesfalse
namespacesList of namespaces where Operator watches for custom resources. Make sure the operator ServiceAccount is granted get permissions on this Node resource when using limited RBACs."" i.e. all namespaces
nodeSelectorNode selector configuration for operator pod{}
affinityNode affinity configuration for operator pod{}
tolerationsToleration configuration for operator pod{}
serviceAccount.createWhether the SA creation is delegated to the chart or nottrue
serviceAccount.nameName of the SA used for NiFiKop deploymentrelease name

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

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

$ helm install nifikop \
orange-incubator/nifikop \
-f values.yaml

Installing the Chart

Skip CRDs

In the case where you don't want to deploy the crds using helm (--skip-crds) you need to deploy manually the crds beforehand:

kubectl apply -f https://raw.githubusercontent.com/Orange-OpenSource/nifikop/master/config/crd/bases/nifi.orange.com_nificlusters.yaml
kubectl apply -f https://raw.githubusercontent.com/Orange-OpenSource/nifikop/master/config/crd/bases/nifi.orange.com_nifiusers.yaml
kubectl apply -f https://raw.githubusercontent.com/Orange-OpenSource/nifikop/master/config/crd/bases/nifi.orange.com_nifiusergroups.yaml
kubectl apply -f https://raw.githubusercontent.com/Orange-OpenSource/nifikop/master/config/crd/bases/nifi.orange.com_nifidataflows.yaml
kubectl apply -f https://raw.githubusercontent.com/Orange-OpenSource/nifikop/master/config/crd/bases/nifi.orange.com_nifiparametercontexts.yaml
kubectl apply -f https://raw.githubusercontent.com/Orange-OpenSource/nifikop/master/config/crd/bases/nifi.orange.com_nifiregistryclients.yaml
helm install nifikop orange-incubator/nifikop \
--dry-run \
--debug.enabled \
--set debug.enabled=true \
--set namespaces={"nifikop"}

the --replace flag allow you to reuses a charts release name

Listing deployed charts

helm list

Get Status for the helm deployment

helm status nifikop

Uninstaling the Charts

If you want to delete the operator from your Kubernetes cluster, the operator deployment should be deleted.

helm del nifikop

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

tip

The CRD created by the chart are not removed by default and should be manually cleaned up (if required)

Manually delete the CRD:

kubectl delete crd nificlusters.nifi.orange.com
kubectl delete crd nifiusers.nifi.orange.com
kubectl delete crd nifiusergroups.nifi.orange.com
kubectl delete crd nifiregistryclients.nifi.orange.com
kubectl delete crd nifiparametercontexts.nifi.orange.com
kubectl delete crd nifidataflows.nifi.orange.com
warning

If you delete the CRD then It will delete ALL Clusters that has been created using this CRD!!! Please never delete a CRD without very good care

Helm always keeps records of what releases happened. Need to see the deleted releases ?

helm list --deleted

Need to see all of the releases (deleted and currently deployed, as well as releases that failed) ?

helm list --all

Because Helm keeps records of deleted releases, a release name cannot be re-used. (If you really need to re-use a release name, you can use the --replace flag, but it will simply re-use the existing release and replace its resources.)

Note that because releases are preserved in this way, you can rollback a deleted resource, and have it re-activate.

To purge a release

helm delete --purge nifikop

Troubleshooting

Install of the CRD

By default, the chart will install the CRDs, but this installation is global for the whole cluster, and you may want to not modify the already deployed CRDs.

In this case there is a parameter to say to not install the CRDs :

$ helm install --name nifikop ./helm/nifikop --set namespaces={"nifikop"} --skip-crds
Last updated on by Alexandre Guitton