Installing CFM Operator (internet)
You can install CFM Operator after meeting all prerequisites and installing dependencies, either using the cfmctl CLI tool or Helm.
- You have a Kubernetes cluster up and runing.
-
You have obtained a license from Cloudera.
-
You have valid credentials to access the required artifact repositories.
-
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 operator.
Replace [***CFM OPERATOR NAME***] with the desired namespace.kubectl create namespace [***CFM OPERATOR NAME***]
For example:
$ kubectl create namespace cfm-operator-system
-
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
.
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
-
- 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 CFM 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 CFM Operator.
Install CFM Operator using the cfmctl install command:
./cfmctl install --license [***LICENSE***] \ --image-repository "[***IMAGE REPOSITORY***]" \ --image-tag "[***OPERATOR VERSION***]" \ –values [***VALUES.YAML***] \ --namespace [***CFM 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 TAG***] 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.
-
[***CFM 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.
Replace [***PATH/TO/LICENSE.TXT***] with the relative path to the license filekubectl create secret generic cfm-operator-license --from-file=license.txt=[***PATH/TO/LICENSE.TXT***]
- Run Helm
install.
Replacehelm install cfm-operator ./charts/cfm-operator \ --create-namespace \ --namespace [***CFM OPERATOR NAMESPACE***] \ --set installCRDs=true \ --set image.repository=[***IMAGE REPOSITORY***] \ --set image.tag=[***CFM OPERATOR VERSION***] \ --set licenseSecret=cfm-operator-license
-
[***CFM OPERATOR NAMESPACE***] with the desired operator installation namespace, for example "cfm-operator-system".
-
[***IMAGE REPOSITORY***] with your target repository.
-
[***CFM OPERATOR VERSION***] with your desired operator version.
-
-
-
Validate your installation.
-
Check if CustomResourceDefinitions for NiFi were installed or
updated:
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 CFM Operator pod is up and
running:
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.