Install Cloudera Streaming Analytics Operator for Kubernetes in Taikun CloudWorks [Technical Preview]

Installing the Cloudera Streaming Analytics Operator for Kubernetes enables you to deploy and manage Flink and Cloudera SQL Stream Builder in Taikun CloudWorks.

Confirm these prerequisites before you start installing Cloudera Streaming Analytics Operator for Kubernetes in a Taikun-managed Kubernetes environment.

  • You have access to a project and Kubernetes cluster in Taikun CloudWorks.
  • Your Kubernetes environment meets the following sizing requirements:

    • master:4 CPU, 16GB RAM
    • bastion4 CPU, 16GB RAM
    • worker (2x):4 CPU, 16GB RAM
  • Access to the cluster with kubectl is configured. For details, see Accessing Cluster with Kubeconfig.
  • A catalog is available that includes the csa-operator application. For guidance, review Importing the Cloudera Streaming Analytics Operator for Kubernetes Helm chart into Taikun CloudWorks.
  • Your Kubernetes cluster has outbound internet access to reach the Cloudera Docker registry.
  • You have access to your Cloudera Cloudera credentials (username and password).

    Credentials are required to access the Cloudera Archive and Cloudera Docker registry where installation artifacts are hosted.

  • You have access to a valid Cloudera Streaming Analytics Operator for Kubernetes 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 the cert-manager in your project, if it's not already present, so that Cloudera Streaming Analytics Operator for Kubernetes webhooks can operate correctly.

Importing the Cloudera Streaming Analytics Operator for Kubernetes Helm chart into Taikun CloudWorks

Import the Cloudera Streaming Analytics Operator for Kubernetes Helm chart repository and add it to a catalog so it is available for project installations.

Use these steps to make the Cloudera Streaming Analytics Operator for Kubernetes Helm chart available in your Taikun CloudWorks environment.

  1. Import the Cloudera Streaming Analytics Operator for Kubernetes repository.
    1. In Taikun CloudWorks, go to Repositories and select the Private tab.
    2. Choose Import Repository.
    3. Provide a unique name in Name.
    4. Enter the following OCI repository URL in URL:
      oci://container.repository.cloudera.com/cloudera-helm/csa-operator/csa-operator
      .
    5. Enter your Cloudera credentials.
    6. Click Import.
  2. Add Cloudera Streaming Analytics Operator for Kubernetes to a catalog.
    These instructions create a new catalog. You can also add your application to an existing catalog.
    1. Go to Catalogs and click + Add Catalog.
    2. Enter the catalog Name and Description.
    3. Click Save.
    4. Go to [***YOUR CATALOG***] and click + Add Applications.
    5. Select [*** YOUR REPIOSITORY***] from the Repository drop-down list and click Apply.
    6. Find the Cloudera Streaming Analytics Operator for Kubernetes in the list of available applications and click +.
    7. Click + Add to the catalog.
  3. Add catalog app parameters.
    1. Click Add Parameters.
    2. Find and add the following parameters:
      clouderaLicense.secretRef
    3. Set the following default values for the parameters you added:
      • clouderaLicense.secretRef = csa-op-license
    4. Click Save.

Installing Cloudera Streaming Analytics Operator for Kubernetes in Taikun CloudWorks

Deploy the Cloudera Streaming Analytics Operator for Kubernetes application to your Taikun project by using the Helm chart you imported.

These steps use the Taikun UI to install Cloudera Streaming Analytics Operator for Kubernetes after you published the Helm chart in a catalog and installed cert-manager.

  1. Create a namespace for the deployment.
    kubectl create namespace [***NAMESPACE***]

    Use this namespace for all Cloudera Streaming Analytics Operator for Kubernetes resources.

  2. Create a Kubernetes secret that stores your Cloudera license.
    kubectl create secret generic csa-op-license \
      --namespace [***NAMESPACE***] \
      --from-file=license=[***PATH TO LICENSE FILE***]
  3. Create a Docker registry secret with your Cloudera credentials.
    kubectl create secret docker-registry [***REGISTRY CREDENTIALS SECRET***] \
      --namespace [***NAMESPACE***] \
      --docker-server container.repository.cloudera.com \
      --docker-username [***USERNAME***] \
      --docker-password "$(echo -n 'Enter your Cloudera password: ' >&2; read -s password; echo >&2; echo $password)"
    • Take note of the name you specify as [***REGISTRY CREDENTIALS SECRET***]. You will need to specify the name in a later step.
    • Replace [***USERNAME***] with your Cloudera username.
    • Enter your Cloudera password when prompted.
  4. In Taikun CloudWorks, go to Projects > [***YOUR PROJECT***] > Applications.
  5. Click + Install.
  6. Find the csa-operator.
    Select the application from the catalog that includes the repository you added earlier.
  7. Click Bind if you get a prompt to bind the catalog to your project.
  8. Configure the following common settings in Application Instance.
    1. Enter a name for Application Instance Name.
    2. In Namespace, select the namespace you created in step 1
    3. Enable the Extra Values tab by clicking the Extra Values toggle.
    4. Click Continue.
  9. Configure the following parameters in Installation Params:
    1. Set clouderaLicense.secretRef to the name of the Secret you created in Step 2.
    2. Click Continue.
  10. Provide the following values in Extra Values:
    flink-kubernetes-operator:
      watchNamespaces:
        - [***NAMESPACE***]
      imagePullSecrets:
        - name: [***REGISTRY CREDENTIALS SECRET***]
    ssb:
      sqlRunner:
        image:
          imagePullSecrets:
            - name: [***REGISTRY CREDENTIALS SECRET***]
      sse:
        image:
          imagePullSecrets:
            - name: [***REGISTRY CREDENTIALS SECRET***]
        ingress:
          spec:
            ingressClassName: taikun
            rules:
              - host: ssb.[***YOUR CLUSTER IP***].sslip.io
                http:
                  paths:
                    - backend:
                        service:
                          name: ssb-sse
                          port:
                            name: sse
                      path: /
                      pathType: ImplementationSpecific
      database:
        image:
          tag: 16.9
        pod:
          securityContext:
            fsGroup: 999

    Replace [***REGISTRY CREDENTIALS SECRET***] with the name of the secret you created in Step 3. Replace [***YOUR CLUSTER IP***] with the IP address of [***YOUR PROJECT***].

  11. Validate your extra values by clicking Check extra values.
  12. Choose Run Installation to deploy the application.
  13. Go to Projects > LiveOps to verify your installation.
  14. Go to https://ssb.[***YOUR CLUSTER IP***].sslip.io (see Taikun Ingress for more details) in a browser and log in to Cloudera SQL Stream Builder.