Installing Helm charts by running a script

You can use the deploy_operator.py script to install Helm charts for a new IBM Content Cortex container deployment, or to add the IBM Content Cortex AI Services Helm chart to an existing traditional deployment. You can run the script interactively or silently with a configuration file.

Before you begin

Before you begin, determine which Helm charts you need for your deployment scenario. For an overview of the available Helm charts, installation order, and installation methods, see Installing Helm charts.

Make sure that the following prerequisites are met on your client machine:

  • The Kubernetes CLI is installed.
  • Python is installed.
  • Helm CLI
  • The ibm-content-cortex-containers repository is downloaded from GitHub.

For more information about preparing the client machine, see Preparing a client to connect to the cluster.

Tip: If you have an existing traditional Content Platform Engine deployment, you can install only the IBM Content Cortex AI Services Helm chart without redeploying your environment.

About this task

Use the deploy_operator.py script to install the Helm charts that your deployment requires.

  • For a new IBM Content Cortex container deployment, complete all Helm chart installation steps in the order that is mentioned in the procedure.
  • For an existing traditional Content Platform Engine deployment, run the script to install the Content Cortex AI Services Helm chart and the required supporting charts.
Note: The script does not set any parameters in the custom resource (CR).

Procedure

  1. From a terminal or command prompt, log in to the target cluster as the <cluster-admin> user.
  2. Navigate to the ibm-content-cortex-containers/scripts directory.
    cd ./ibm-content-cortex-containers/scripts
  3. Install the required Python packages from the requirements.txt file.
    python3 -m pip install -r requirements.txt
  4. Run the deployment script.
    • Interactive:
      python3 deploy_operator.py
    • Silent:
      python3 deploy_operator.py --silent

    The script validates prerequisites before it installs Helm charts. It checks whether required tools such as Podman or Docker are available, whether the cluster connection is successful, and whether the required descriptor files exist. If validation fails, the script reports the missing tools or files.

    The script supports the following command-line options:

    python3 deploy_operator.py --help
    
    Usage: deploy_operator.py [OPTIONS]
    
    Content Cortex Operator Deployment CLI.
    
    Options:
      --version                      Show version and exit. 
      --install-completion           Install completion for the current shell.
      --show-completion              Show completion for the current shell, to copy it or customize the installation.
      --help                         Show this message and exit.
    
    Customization and Utils:
      --silent     --no-silent       Enable Silent Install (no prompts). [default: no-silent]
      --verbose    --no-verbose      Enable verbose logging. [default: no-verbose]
      --dryrun     --no-dryrun       Perform a dry run [default: no-dryrun]
      --validate   --no-validate     Disable validation of entitlement key or private registry. [default: validate]
      --force      --no-force        Force redeployment even if operators are already at target version. [default: no-force] 
    
    Deployment Method:  
      --use-olm    --no-use-olm      Use OLM (Operator Lifecycle Manager) for deployment instead of Helm. [default: no-use-olm]
      --helm-chart-source            TEXT  Helm chart source: 'github' (default - downloads from GitHub), 'packaged' (local files), 'local' (unpacked charts), 'public' (Helm repo), or 'url'. [default: github]  
    
    Tip: Before you run the script in silent mode, complete the ./scripts/silent_config/silent_install_deployoperator.toml file.

    For an interactive deployment in Helm mode, provide the following values:

    1. Accept the license.
    2. The script will automatically detect the installation currently on your system. If they requires a fresh install, upgrade or you have already installed the latest version.
    3. Select the Helm charts for your deployment scenario.

      The script lists the mandatory Helm charts separately. It always installs the IBM License Service chart and the IBM Usage Metering chart.

      The script then prompts you to select optional Helm charts.

      • For a new container deployment, select the Content chart. Select the Content Cortex AI Services chart only if you want AI capabilities.
      • For an existing traditional Content Platform Engine deployment, select only the IBM Content Cortex AI Services chart.
    4. Specify whether the deployment is air-gapped by selecting Y or N.
    5. For an online deployment, enter your IBM Entitlement Registry key when the script prompts for it.
    6. Enter your namespace.
    7. For the IBM License Service chart, select how Helm handles the custom resource definitions (CRDs). To let Helm take ownership of the CRDs, accept the default option.
    8. Proceed with the operator deployment.
    The script displays the artifacts that it applies to your cluster based on the Helm charts that you selected. The deployment always includes the IBM License Service chart and the IBM Usage Metering chart. Depending on your deployment scenario, it also includes the Content chart, the Content Cortex AI Services chart, or both.
  5. Verify that the Helm chart pods are running.
    1. Run the following command:
      kubectl get pods -w
    2. Verify that the pods show the status Running.

What to do next

After the Helm charts are installed, create a custom resource and run the prerequisite scripts. For more information, see Generating simple custom resource and deployment files.