Installing Cloudera Flow Management Operator for Kubernetes (internet)
You can install Cloudera Flow Management Operator for Kubernetes after meeting all prerequisites and installing dependencies, either using the cfmctl CLI tool or Helm.
-
Ensure that your Kubernetes environment meets requirements listed in System requirements.
-
Your Kubernetes cluster requires internet connectivity to complete these steps. It must be able to reach the Cloudera Docker registry.
-
Ensure that you have access to your Cloudera credentials (username and password). Credentials are required to access the Cloudera Archive and Cloudera Docker registry where installation artifacts are hosted.
-
Ensure that you have access to a valid Cloudera license.
- Review the Helm chart reference before
installation.
The Helm chart accepts various configuration properties that you can set during installation. Using these properties you can customize your installation.
-
Install cert-manager.
Follow the instructions for installing the cert-manager Operator for RedHat OpenShift.
helm install cert-manager jetstack/cert-manager \ --version [***CERT MANAGER VERSION***]\ --namespace cert-manager \ --create-namespace \ --set installCRDs=trueReplace [***CERT MANAGER VERSION***] with the certificate manager version you want to install.
-
Create a namespace for the Cloudera Flow Management Operator for Kubernetes if it does not already exist.
Replace [***OPERATOR NAMESPACE***] with the desired namespace for Cloudera Flow Management Operator for Kubernetes.kubectl create namespace [***OPERATOR NAMESPACE***]For example:
$ kubectl create namespace cfm-operator-system -
Create a Kubernetes secret containing your
Cloudera credentials.
kubectl create secret docker-registry [***SECRET NAME***] \ --namespace [***OPERATOR NAMESPACE***] \ --docker-server container.repository.cloudera.com \ --docker-username [***USERNAME***] \ --docker-password [***PASSWORD***]Replace:
- [***SECRET NAME***] with the desired Kubernetes secret name.
-
[***OPERATOR NAMESPACE***] with the Cloudera Flow Management Operator for Kubernetes installation namespace.
-
[***USERNAME***] and [***PASSWORD***] with your internal registry credentials.
- Optional:
Install the cfmctl CLI tool. While installing the tool is not strictly
required for the operation of Cloudera Flow Management Operator for Kubernetes, it
makes performing common tasks more convenient. The examples in this
documentation make heavy use of the cfmctl CLI tool.
The cfmctl tool allows you to:
-
Manage your environment
-
Check the current state and existence of prerequisites in an environment
-
Install and uninstall the operator
-
Quickstart install NiFi clusters
-
Perform common configuration tasks using flags, with the ability to provide a helmvalues.yaml file
-
Install using default image location without the need to provide it manually
- Copy the CLI tool version appropriate for your environment to the Cloudera Flow Management Operator for Kubernetes installation directory and run it.
-
Make the tool executable.
Replace [***CFMCTL FILE***] with the name of the executable file that you have downloaded.chmod +x [***CFMCTL FILE***]
-
-
Install Cloudera Flow Management Operator for Kubernetes.
Install Cloudera Flow Management Operator for Kubernetes using the cfmctl install command:
./cfmctl install --license [***LICENSE***] \ --image-repository "[***IMAGE REPOSITORY***]" \ --image-tag "[***OPERATOR VERSION***]" \ –values [***VALUES.YAML***] \ --namespace [***OPERATOR NAMESPACE***]Replace
-
[***LICENSE***] with the license file. This flag is mandatory.
-
[***IMAGE REPOSITORY***] Defaults to “container.repository.cloudera.com/cloudera/cfm-operator” unless a Helm values.yaml is provided. This flag is optional.
-
[***OPERATOR VERSION***] Defaults to “latest” unless a Helm values.yaml is provided. This flag is optional.
-
[***VALUES.YAML***] with a Helm values.yaml file to supply any variables to the underlying Helm chart that is not available through cfmctl command flags. This flag is optional.
-
[***OPERATOR NAMESPACE***] with the desired operator installation namespace. Defaults to "
cfm-operator-system".
This command installs the CustomResourceDefinitions and Helm chart for the operator, and starts the operator.
$ ./cfmctl install --license ./license.txt --image-repository "container.repository.cloudera.com/cloudera/cfm-operator" --image-tag "2.8.0-b94" 2024-06-11T21:22:19.678+0200 INFO cli.install cmd/install.go:90 installing chart {"namespace": "cfm-operator-system"} 2024-06-11T21:22:23.820+0200 INFO cli.install.helmclient cmd/install.go:162 creating 1 resource(s) 2024-06-11T21:22:24.601+0200 INFO cli.install.helmclient cmd/install.go:162 creating 18 resource(s) 2024-06-11T21:22:26.063+0200 INFO cli.install.helmclient cmd/install.go:162 beginning wait for 18 resources with timeout of 10m0s 2024-06-11T21:22:26.697+0200 INFO cli.install.helmclient cmd/install.go:162 Deployment is not ready: cfm-operator-system/cfm-operator. 0 out of 1 expected pods are ready … 2024-06-11T21:24:28.414+0200 INFO cli.install.helmclient cmd/install.go:162 release installed successfully: cfm-operator/cfm-operator-0.0.0-dev- Create your license
secret.
Replacekubectl create secret generic cfm-operator-license --from-file=license.txt=[***PATH/TO/LICENSE.TXT***] -n [***OPERATOR NAMESPACE***]- [***PATH/TO/LICENSE.TXT***] with the relative path to the license file
- [***OPERATOR NAMESPACE***] with the namespace where you install Cloudera Flow Management Operator for Kubernetes
- Run Helm
install.
Replacehelm install cfm-operator [***PATH TO OPERATOR HELM CHART***] \ --create-namespace \ --namespace [***OPERATOR NAMESPACE***] \ --set installCRDs=true \ --set image.repository=[***IMAGE REPOSITORY***] \ --set image.tag=[***OPERATOR VERSION***] \ --set licenseSecret=cfm-operator-license --set "imagePullSecrets={[***DOCKER PULL SECRET***]}"- [***PATH TO OPERATOR HELM
CHART***] with the path to the
downloaded and unpacked Cloudera Flow Management Operator for Kubernetes Helm chart, for
example,
./cfm-operator-2.11.0-b57.tgz - [***OPERATOR NAMESPACE***] with the desired installation namespace, for
example,
cfm-operator-system - [***IMAGE
REPOSITORY***] with the Cloudera Flow Management Operator for Kubernetes image
repository.
- If you install from the Cloudera Docker
Registry, replace it
with
container.repository.cloudera.com/cloudera/cfm-operator - If you install from a self-hosted private registry, replace it with your internal registry URL.
- If you install from the Cloudera Docker
Registry, replace it
with
-
[***OPERATOR VERSION***] with your desired Cloudera Flow Management Operator for Kubernetes version, for example,
2.11.0
- [***PATH TO OPERATOR HELM
CHART***] with the path to the
downloaded and unpacked Cloudera Flow Management Operator for Kubernetes Helm chart, for
example,
- [***DOCKER PULL SECRET***] with the
-
-
Validate your installation.
-
Check if CustomResourceDefinitions for NiFi were installed or
updated:
Expect a similar output:kubectl get crds | grep nifinifiregistries.cfm.cloudera.com 2024-01-25T21:31:28Z nifis.cfm.cloudera.com 2024-01-25T21:31:29Z -
Check if a Cloudera Flow Management Operator for Kubernetes pod is up and
running:
kubectl get pods -n [***OPERATOR NAMESPACE***]Replace [***OPERATOR NAMESPACE***] with the namespace you created to deploy Cloudera Flow Management Operator for Kubernetes.
Expect a similar output:NAME READY STATUS RESTARTS AGE cfm-operator-545bfbc96b-sx4jt 2/2 Running 0 18m
-
Check if CustomResourceDefinitions for NiFi were installed or
updated:
With the operator installed and running, you can create and manage instances of NiFi and NiFi Registry by manipulating the Kubernetes object definitions.
