Installing Cloudera Flow Management - Kubernetes Operator (internet)
You can install Cloudera Flow Management - Kubernetes Operator 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=true
Replace ***CERT MANAGER VERSION***] with the certificate manager version you want to install.
-
Create a namespace for the Cloudera Flow Management - Kubernetes Operator if it does not already exist.
Replace [***OPERATOR NAMESPACE***] with the desired namespace for Cloudera Flow Management - Kubernetes Operator.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 - Kubernetes Operator installation namespace.
-
[***USERNAME***] and [***PASSWORD***] with your internal registry credentials.
- Optional:
Install the cfmctl CLI tool.
-
Download the CLI tool. Select the version appropriate for your
environment..
- https://archive.cloudera.com/p/cfm-operator/cfmctl-darwin-amd64
- https://archive.cloudera.com/p/cfm-operator/cfmctl-darwin-arm64
- https://archive.cloudera.com/p/cfm-operator/cfmctl-linux-amd64
- https://archive.cloudera.com/p/cfm-operator/cfmctl-linux-arm64
- https://archive.cloudera.com/p/cfm-operator/cfmctl-windows-amd64
- https://archive.cloudera.com/p/cfm-operator/cfmctl-windows-arm64
- Copy and run it in the Cloudera Flow Management - Kubernetes Operator installation directory.
-
Make the tool executable.
Replace [***CFMCTL FILE***] with the name of the executable file that you have downloaded.chmod +x [***CFMCTL FILE***]
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
-
Download the CLI tool. Select the version appropriate for your
environment..
-
Install Cloudera Flow Management - Kubernetes Operator.
Install Cloudera Flow Management - Kubernetes Operator 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 - Kubernetes Operator
- Run Helm
install.
Replacehelm install cfm-operator ./charts/cfm-operator \ --create-namespace \ --namespace [***OPERATOR NAMESPACE***] \ --set installCRDs=true \ --set image.repository=[***IMAGE REPOSITORY***] \ --set image.tag=[***OPERATOR VERSION***] \ --set licenseSecret=cfm-operator-license
-
[***OPERATOR NAMESPACE***] with the desired operator installation namespace, for example "cfm-operator-system".
-
[***IMAGE REPOSITORY***] with your target repository.
-
[***OPERATOR VERSION***] with your desired Cloudera Flow Management - Kubernetes Operator version.
-
-
-
Validate your installation.
-
Check if CustomResourceDefinitions for NiFi were installed or
updated:
Expect a similar output:kubectl get crds | grep nifi
nifiregistries.cfm.cloudera.com 2024-01-25T21:31:28Z nifis.cfm.cloudera.com 2024-01-25T21:31:29Z
-
Check if a Cloudera Flow Management - Kubernetes Operator pod is up and
running:
Expect a similar output:kubectl get pods -n cfm-operator-system
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.