Orange-OpenSource / nifikop

The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes. Apache NiFI is a free, open-source solution that support powerful and scalable directed graphs of data routing, transformation, and system mediation logic.
https://orange-opensource.github.io/nifikop/
Apache License 2.0
128 stars 34 forks source link

nifi upgrade #161

Closed yossisht9876 closed 2 years ago

yossisht9876 commented 2 years ago

Bug Report

What did you do? trying to upgrade nifi image to 1.14.0 failed the pods keep restating every few sec

i have nifikop 0.7.2

cert manger 1.5.3 (upgraded from 1.2.0)

secure cluster

if i change the image to 1.13.2 and it works its works

i saw in the logs that nifikop cant connect to the nifi nodes.

riccardo-salamanna commented 2 years ago

duplicate of #141 - there's no support as of now for 1.14 👍 hope it helps

mh013370 commented 2 years ago

You can provide a value for nifi.sensitive.props.key in nifi.properties and nifi 1.14.0 and 1.15.0 both work. I've run them both, but i'm not using cert-manager.

https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#security_properties

I tested and here's a running 1-node NiFiCluster @ 1.14.0. The secret containing nifi.properties only has the nifi.sensitive.props.key property set.

apiVersion: nifi.orange.com/v1alpha1
kind: NifiCluster
metadata:
  finalizers:
  - nificlusters.nifi.orange.com/finalizer
  name: driver-nifi-driver-nifi-cluster
  namespace: nifi
spec:
  clusterImage: apache/nifi:1.14.0
  externalServices:
  - name: driver-nifi-cluster-ip
    serviceAnnotations:
      cluster-name: driver-nifi-cluster-cluster
    spec:
      portConfigs:
      - internalListenerName: http
        port: 8080
      type: ClusterIP
  initContainerImage: busybox:1.34.0
  listenersConfig:
    internalListeners:
    - containerPort: 8080
      name: http
      type: http
    - containerPort: 6007
      name: cluster
      type: cluster
    - containerPort: 10000
      name: s2s
      type: s2s
    - containerPort: 9090
      name: prometheus
      type: prometheus
  nifiClusterTaskSpec:
    retryDurationMinutes: 10
  nodeConfigGroups:
    default_group:
      imagePullPolicy: IfNotPresent
      isNode: true
      resourcesRequirements:
        limits:
          cpu: "2"
          memory: 4Gi
        requests:
          cpu: "1"
          memory: 2Gi
      serviceAccountName: default
      storageConfigs:
      - mountPath: /opt/nifi/nifi-current/content_repository
        name: content-repository
        pvcSpec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 10Gi
          storageClassName: standard
      - mountPath: /opt/nifi/nifi-current/flowfile_repository
        name: flowfile-repository
        pvcSpec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 10Gi
          storageClassName: standard
  nodes:
  - id: 1
    nodeConfigGroup: default_group
  oneNifiNodePerNode: true
  pod:
    annotations:
      cluster-name: driver-nifi-cluster
  propagateLabels: true
  readOnlyConfig:
    bootstrapProperties:
      nifiJvmMemory: 512m
      overrideSecretConfig:
        data: bootstrap.properties
        name: driver-nifi-driver-nifi-cluster
        namespace: nifi
    logbackConfig:
      replaceSecretConfig:
        data: logback.xml
        name: driver-nifi-driver-nifi-cluster
        namespace: nifi
    nifiProperties:
      overrideSecretConfig:
        data: nifi.properties
        name: driver-nifi-driver-nifi-cluster
        namespace: nifi
    zookeeperProperties:
      overrideSecretConfig:
        data: zookeeper.properties
        name: driver-nifi-driver-nifi-cluster
        namespace: nifi
  secretRef:
    name: ""
  service:
    annotations:
      cluster-name: driver-nifi-cluster
    headlessEnabled: true
  zkAddress: driver-nifi-zookeeper:2181
  zkPath: /cluster
status:
  nodesState:
    "1":
      configurationState: ConfigInSync
      gracefulActionState:
        actionState: GracefulUpscaleSucceeded
        errorMessage: ""
      initClusterNode: true
      podIsReady: true
  prometheusReportingTask:
    id: 32c66160-017d-1000-0000-0000665dc9fc
    version: 2
  rollingUpgradeStatus:
    errorCount: 0
    lastSuccess: Thu, 18 Nov 2021 11:20:02 GMT
  rootProcessGroupId: 32c54403-017d-1000-ff27-2e4412ed14b9
  state: ClusterRunning
yossisht9876 commented 2 years ago

thanks but it not working for me, i think cert manger related to it. i can ssh to the pods for a few seconds and i can see that the flow.xml file isn't crested so it keep restarting.