Deploying NiFiPDF version

Deploying a NiFi instance in Kubernetes (airgap)

With CFM Operator you can deploy NiFi clusters to your Kubernetes cluster. Complete these steps if your Kubernetes cluster does not have internet access, or if you want to install it from a self-hosted registry.

You can deploy a NiFi cluster by creating a NiFi custom resource (CR) and deploying it to the Kubernetes cluster.

  • Ensure the CFM Operator has been installed and is running.

  • You have created a NiFi CR YAML file that complies with the documentation provided by Cloudera.

  1. Create a secret to access installation images.
    kubectl create secret docker-registry docker-pull-secret \
      --namespace [***NAMESPACE***] \
      --docker-server container.repository.cloudera.com \
      --docker-username [***USERNAME***] \
      --docker-password [***PASSWORD***]
    
  2. Move the installation artifacts to a local registry using the docker pull, docker tag, and docker push commands.
    docker pull container.repository.cloudera.com/cloudera/cfm-nifi-k8s:[***CFM OPERATOR NIFI VERSION***] \
    docker tag container.repository.cloudera.com/cloudera/cfm-nifi-k8s:[***CFM OPERATOR NIFI VERSION***] [***PRIVATE REGISTRY[:PORT]/PATH/TAG:CFM OPERATOR NIFI VERSION***] \
    docker push [***PATH TO SELF-HOSTED REGISTRY***]/cfm-nifi-k8s:[***CFM OPERATOR NIFI VERSION***]
    
    For example:
    docker pull container.repository.cloudera.com/cloudera/cfm-nifi-k8s:2.8.0-b94-nifi_1.25.0.2.3.13.0-36 \
    docker tag container.repository.cloudera.com/cloudera/cfm-nifi-k8s:2.8.0-b94-nifi_1.25.0.2.3.13.0-36 us-central1-docker.pkg.dev/nifi-testing/cfm-k8s/cfm-nifi-k8s:2.8.0-b94-nifi_1.25.0.2.3.13.0-36 \
    docker push us-central1-docker.pkg.dev/nifi-testing/cfm-k8s/cfm-nifi-k8s:2.8.0-b94-nifi_1.25.0.2.3.13.0-36
    For more information on pulling, pushing, and tagging Docker images, see the Docker documentation.
  3. Create the NiFi cluster namespace if it does not already exist.
    kubectl create namespace [***NIFI CLUSTER NAMESPACE***]

    Replace [***NIFI CLUSTER NAMESPACE***] with your desired namespace.

  4. Create an image pull secret.
    kubectl create secret docker-registry docker-pull-secret \
      --namespace [***CFM OPERATOR NAMESPACE***] \
      --docker-server container.repository.cloudera.com \
      --docker-username [***USERNAME***] \
      --docker-password [***PASSWORD***]
    

    Replace:

    • [***USERNAME***] and [***PASSWORD***] with your Cloudera credentials.

    • [***CFM OPERATOR NAMESPACE***] with the desired operator installation namespace, typically cfm-operator-system.

    For example:
    kubectl create secret docker-registry docker-pull-secret \
      --namespace cfm-operator-system \
      --docker-server container.repository.cloudera.com \
      --docker-username my-username \
      --docker-password my-password
  5. Apply your NiFi CR to the Kubernetes cluster.
    kubectl apply -f [***NIFI YAML PATH***] \
    --namespace [***NIFI CLUSTER NAMESPACE***]

    Replace

    • [***NIFI YAML PATH***] with the absolute or relative path to the NiFi yaml.

    • [***NIFI CLUSTER NAMESPACE***] with your desired namespace.

We want your opinion

How can we improve this page?

What kind of feedback do you have?