Kubernetes. install apache nifi

Thank you for reading this post, don't forget to subscribe!

https://github.com/cetic/helm-nifi

kubectl create namespace nifi

git clone https://github.com/cetic/helm-nifi.git

cd nifi
helm repo update
helm dep up
cd ../charts

tar -xvf nifi-registry-0.1.1.tgz
tar -xvf zookeeper-5.23.0.tgz
rm -rf nifi-registry-0.1.1.tgz zookeeper-5.23.0.tgz

cd ../

пра­вим values:

vim values.yaml

пол­но­стью файл выгля­дит сле­ду­ю­щим образом:
cat values.yaml

 

 

 

далее пра­вим файл:

vim nifi/charts/nifi-registry/values.yaml

vim nifi/charts/zookeeper/values.yaml

 

vim helm-nifi/charts/zookeeper/values.yaml
!!! если имя наше­го кла­сте­ра clusterDomain  отли­ча­ет­ся от cluster.local то его надо поме­нять и в переменных:
посмот­реть имя кла­сте­ра мож­но командой:
kubectl config view

после того как меня­ем имя кла­сте­ра то далее необ­хо­ди­мо попра­вить и внут­ри тем­лей­тов для это­го захо­дим в нашу дирек­то­рию хельм чар­та и рекур­сив­но ищем:

grep -rli cluster.local .

по всем най­ден­ным путям надо попра­вить cluster.local на наше имя test.local

vim helm-nifi/charts/nifi-registry/values.yaml

 

Для рабо­ты в кла­сте­ре 2 экзем­пля­ров nifi необ­хо­ди­мо попра­вить template/statefulset.yml - най­ден офи­ци­аль­но заре­ги­стри­ро­ван­ный баг.

https://github.com/cetic/helm-nifi/issues/115

Уда­ля­ем 193 строку

{{- if .Values.auth.oidc.enabled }}

И 221

{{- end }}

https://github.com/cetic/helm-nifi/blob/0.6.0/templates/statefulset.yaml - здесь этот баг устранен

после это­го мож­но уже запускать
helm install my-nifi --namespace nifi helm-nifi/ --values helm-nifi/values.yaml

В целом чистая ETL NIFI гото­ва к рабо­те, но у нас есть необ­хо­ди­мость пере­не­сти теку­щие настрой­ки NIFI(включая Process Group, биб­лио­те­ки для под­клю­че­ния к базам дан­ным, дан­ные для авто­ри­за­ции и т.д.).
Так как про­це­ду­ра разо­вая, было при­ня­то реше­ние пере­не­сти необ­хо­ди­мые фай­лы на уже создан­ные PVC в нуж­ную директорию.
Пере­но­си­ли сле­ду­ю­щий спи­сок файлов:
authorizers.xml
flow.xml.gz
logback.xml
login-identity-providers.xml
state-management.xml

Пере­но­си­ли так:
kubectl cp conf/state-management.xml nifi/my-nifi-1:/opt/nifi/nifi-current/conf/state-management.xml
!!!! Копи­ру­ем их на каж­дый экзем­пляр nifi. Не смот­ря на воз­ни­ка­ю­щие ошиб­ки при копи­ро­ва­нии типа:
Defaulting container name to server.
tar: state-management.xml: Cannot open: File exists
tar: Exiting with failure status due to previous errors
command terminated with exit code 2
Необ­хо­ди­мые фай­лы копируются.
!!!!!! Нель­зя затра­ги­вать фай­лы, они отве­ча­ют за сам кластер:
bootstrap-notification-services.xml
bootstrap.conf
nifi.properties
zookeeper.properties