Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Platform:
    Setup a Kubernetes on any cloud provider (AWS, Azure, Google Cloud) or on-premise solution (e.g. OpenShift)

  2. Specification:
    The Kubernetes cluster requires a minimum of 4 nodes with each node having 4 CPU, 16GB MEM

  3. Storage:

    1. Setup an object store such as AWS s3, Azure Blob etc.

      1. s3 bucket setup

    2. ~200GB storage to be mounted into the Kubernetes cluster. In cloud setups the Kubernetes services will automatically provision this.

    3. Where the organisation defines their own PV definitions eg OpenShift, set the Reclaim Policy is set to Retain. This is important to ensure there is no data lost during prolonged outage at the Kubernetes layer.

  4. Networking:

    1. Firewall rules may be required to enable access to HTTPS (443)

    2. You may choose to use your own Kubernetes ingress services or use the one provided by KADA's configuration scripts.

...

  1. Platform Settings
    On the bottom left of screen click the GEAR icon. And select Platform Settings.

    Then setup the following properties depending on your deployment setup

    Code Block
    storage_type = [LOCAL, S3, AZURE]
    
    # For Azure blob storage
    root_folder = <s3 bucket name>
    storage_azure_access_key
    storage_azure_storage_account
    
    # For aws S3 configuration
    root_folder = <s3 bucket name>
    storage_aws_region 
    storage_aws_access_key
    storage_aws_secret_access_key
    
    # Set this for LOCAL storage
    storage_local_root_directory
    
    # Set this if connecting to sources directly
    enable_connection_test = true
  2. Integrating sources to KADA
    KADA needs to be configured for each source that you want to integrate. Setup can be configure via the KADA front end. See KADA Integration Setup and Management

  3. KADA Platform Initial load

    1. Setup the following Platform Setting values for initial load

      Code Block
      celery_batch_task_soft_time_limit = 0
      celery_batch_task_time_limit = 0
      metric_window = 30
    2. KADA provides a built in Batch manager for triggering the loading of sources.

    3. Seehttps://kadaai.atlassian.net/wiki/spaces/KS/pages/675708946/KADA+Integration+Setup+and+Management#4.-Manually-Triggering-Source-loads

    4. Once the sources have been loaded. Manually trigger the following platform jobs. See https://kadaai.atlassian.net/wiki/spaces/KS/pages/1740931226/KADA+Batch+Manager#Manually-triggering-a-Platform-job
      1. GATHER_METRICS_AND_STATS
      2. POST_PROCESS_QUERIES
      3. DAILY

  4. Schedule sources to load.
    KADA provided a scheduler to periodically load the source you have configured.
    Setup the following Platform Setting value to enable the scheduler to run.

    Code Block
    enable_platform_batch = true

    Each Source can now be scheduled to run. See https://kadaai.atlassian.net/wiki/spaces/KS/pages/675708946/KADA+Integration+Setup+and+Management#3.-Scheduling-a-Source

Upgrading KADA

KADA generally releases new updates each month. See our Release versions to see what the latest version available is.

...

Code Block
# Delete the following from the installer package
cerebrum/k8s/cerebrum-auth-credentials.yaml
cerebrum/k8s/cerebrum-fernet-key.yaml
cerebrum/k8s/cerebrum-odbc-ini.yaml
cerebrum/k8s/cerebrum-oic.yaml
keycloak/k8s/keycloak-credentials.yaml
keycloak/k8s/keycloak-ldap-cert.yaml
keycloak/k8s/keycloak-kada-realm.yaml
postgres/k8s/credentials.yaml

# Set KEYCLOAK_FRONTEND_URL value in keycloak/k8s/keycloak.yaml
value: https://example.com/keycloak/auth

# Compare this file with your current version.
# Update the file with any changes
cerebrum/k8s/cerebrum-extract-scripts.yaml

kubectl scale deployment --replicas 0 cerebrum-deployment 
kubectl scale deployment --replicas 0 cerebrum-celery-scheduler-deployment

# Check in Platform Settings > Monitor that no batches are currently running.

kubectl apply -f postgres/k8s
kubectl apply -f zookeeper/k8s
kubectl apply -f solr/k8s
kubectl apply -f redis/k8s
kubectl apply -f keycloak/k8s
kubectl apply -f cerebrum/k8s
kubectl apply -f cortex/k8s/know-app.yaml

kubectl scale deployment --replicas 1 cerebrum-deployment 
kubectl scale deployment --replicas 1 cerebrum-celery-scheduler-deployment

Docker deployments

Code Block
# Download new package
# Transfer package over to kada server under /kada

# unzip package
cd /kada
tar -xvf kada_5.5.0_docker_compose.tar.gz
cd /kada/d_pkg_5.5.0

# From the current version directory copy over the following config
cp /kada/d_pkg_5.4.0/conf/cortex.key /kada/d_pkg_5.5.0/conf/cortex.key
cp /kada/d_pkg_5.4.0/conf/cortex.crt /kada/d_pkg_5.5.0/conf/cortex.crt
cp /kada/d_pkg_5.4.0/conf/kada-realm.json /kada/d_pkg_5.5.0/conf/kada-realm.json

# Update these variables in the newer version's kada_docker_compose.env
KADA_ROOT_DATA_DIR=
KADA_DOCKER_NETWORK=
KADA_URL=

# The restart the environment
./kada_docker_compose_setup.sh update yes-i-can-proceed

...