Install Fusion with Minimal clusterrole

Preprepration

  1. Download fusion-cloud-native.

  2. Run ./customize_fusion_values.sh -c <cluster> -n <namespace> --provider <provider>. For additional information, check instructions at Fusion Cloud Native-Other-Kubernetes-Platforms.

  3. Update <provider>_<cluster>_<namespace>_fusion_values.yaml:

    query-pipeline:
      useAvailabilityZoneRouting: false
    
    solr:
      setAvailabilityZone: false
    
    rpc-service:
      plugins:
        crd:
          create: false
    
    argo:
      createAggregateRoles: false
    
    ml-model-service:
      runLabelNamespaceJob: false
  4. Add --skip-crds flag to helm upgrade command.

      helm upgrade ${DRY_RUN} ${RELEASE} "${lw_helm_repo}/fusion" --install --namespace "${NAMESPACE}" --version "${CHART_VERSION}" ${MY_VALUES} --skip-crds

Steps to install Fusion without clusterrole

  1. Create the namespace.

    kubectl create namespace fusion5
  2. Label the namespace.

    kubectl label ns <my-namespace> seldon.io/controller-id=<my-namespace>
  3. Install CRDs using Admin user.

    helm fetch lucidworks/fusion --version 5.3.0 --untar
    find . -iname crds -type d -exec kubectl apply -f {} \;
  4. Apply Role.

    kubectl apply -f role.yaml --namespace fusion5
    kubectl create --namespace fusion5 rolebinding fusion-install-rolebinding --role fusion-installer --user <username>
  5. Apply the clusterrole minimal file.

    kubectl apply -f cluster-role-minimal.yaml
    kubectl create clusterrolebinding fusion-install-rolebinding --clusterrole fusion-installer --user <username>
  6. Install Fusion.

    ./demo_demo-cluster_fusion5_upgrade_fusion.sh
Note
If this will be a long-running cluster for production purposes, you should save demo_demo-cluster_fusion5_fusion_values.yaml in version control.