KNIME Edge Release Notes and Update Guide

This guide outlines the latest changes to KNIME Edge as well as steps for updating from prior versions.

Release history

Version Release Date

v1.2.0

2023-04-27

v1.1.0

2022-05-14

v1.0.0

2021-09-29

What’s new in KNIME Edge 1.2

Enhancements

KNIME Edge Values File Configuration Options
  • Additional images are now configurable.

    • Busybox

    • Minio and Minio Client

    • Rclone

  • Fluentd can now be disabled.

  • Resource requests and limits are now configurable for all pods.

    • Parameters for memory and cpu have been added to multiple sections.

  • A default PodSecurityContext can now be specified.

    • Parameters can be found in the podSecurityContext section:

      • RunAsUser

      • RunAsGroup

      • FsGroup

      • RunAsNonRoot

  • Inference deployment emptyDir volumes can now be specified.

  • The host field for ingresses can now be specified

Server Adapter
  • Mounted necessary volumes as emptyDirs to conform to a PodSecurityPolicy with readOnlyRootFilesystem=true.

Minio
  • Mounted necessary volumes as emptyDirs to conform to a PodSecurityPolicy with readOnlyRootFilesystem=true.

Inference Agent
  • Mounted configured volumes as emptyDirs to conform to a PodSecurityPolicy with readOnlyRootFilesystem=true.

KNIME Server Control Plane and Initialization Workflows
  • The PostgreSQL Connector connects via SSL to the database if possible.

  • Removed the maximum limit of the cpu and memory prompts when creating or updating Inference Deployments.

  • Increased the timeout of all REST request nodes from two to ten seconds.

  • The KNIME Edge Initialization workflow can now be succesfully executed without internet access.

  • Added the Delete Execution Image workflow to the KNIME Server Control Plane

Bugfixes

Inference Agent
  • The KNIME Inference Agent no longer encodes the workflow URL and now requires an encoded URL. This fixed a bug in which the workflow URL is encoded twice.

Server Adapter
  • The KNIME Edge Server Adapter no longer logs the KNIME Server password and the Minio store secret

KNIME Edge 1.2 Update Guide

This section outlines the steps needed to upgrade an existing KNIME Edge installation from version 1.1 to 1.2.

You will find a complete guide to installing KNIME Edge in the KNIME Edge Installation Guide.

If you have any questions or need assistance with the update process, please contact your dedicated KNIME support specialist.

Update KNIME Server Control Plane Workflows

*1. Download the latest "Initialize Edge Server" workflow from KNIME Hub: KNIME Edge Initialization Workflow *

2. Upload the "Initialize Edge Server" workflow to KNIME Server.

3. Execute the "Initialize Edge Server" workflow from WebPortal on KNIME Server.

initialize-edge-server-overview.png

4. Select the Edge root path. Optionally override the automatic detection of KNIME Server URL and credentials by deselecting "Use current KNIME Server login details for requests".

initialize-edge-root-path.png

5. If "Use current KNIME Server login details for requests" was deselected in the prior step, fill out the KNIME Server credentials as appropriate before moving on.

initialize-edge-custom-server-info.png

6. When selecting the KNIME Edge version to initialize, ensure that 1.2.0-experimental or 1.2.0 is selected.

initialize-edge-version.png

7. Ensure that "Update Database Schema to latest version" is selected and "Reset Database Schema before Updating" is deselected before proceeding. This configuration will update the PostgreSQL database schema without truncating the existing tables.

initialize-edge-update-schema.png

Uninstall existing Edge Deployment

1. Run helm list --all-namespaces in terminal to see all Helm releases for the current Kubernetes context.

user@computer ~ % helm list --all-namespaces

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                       APP VERSION
edge-current    edge        1           2022-03-03 11:56:06.615987 -0500 EST    deployed    knime-edge-operator-1.0.0   1.16.0

2. Once the existing KNIME Edge release has been identified, run helm uninstall [-n namespace] <release_name> to uninstall KNIME Edge. A successful uninstallation will look similar to the output below.

user@computer ~ % helm uninstall -n edge edge-current

W0303 13:55:47.802827   92191 warnings.go:70] rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
W0303 13:55:47.825723   92191 warnings.go:70] rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
W0303 13:55:47.867231   92191 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
W0303 13:55:47.913994   92191 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
release "edge-current" uninstalled

Update KNIME Edge Custom Resource Definitions (CRDs)

1. Run kubectl get crds to see a full list of Custom Resource Definitions (CRDs) that are installed to the cluster.

user@computer ~ % kubectl get crds

NAME                                          CREATED AT
edgedeployments.edge.knime.com                2022-03-03T16:56:02Z
inferencedeployments.edge.knime.com           2022-03-03T16:56:02Z
kongclusterplugins.configuration.konghq.com   2022-03-03T16:56:02Z
kongconsumers.configuration.konghq.com        2022-03-03T16:56:02Z
kongingresses.configuration.konghq.com        2022-03-03T16:56:02Z
kongplugins.configuration.konghq.com          2022-03-03T16:56:02Z
tcpingresses.configuration.konghq.com         2022-03-03T16:56:02Z
tensorflowservingdeployments.edge.knime.com   2022-03-03T16:56:02Z

2. Run the following command to delete all KNIME Edge CRDs.

kubectl delete crd \
    edgedeployments.edge.knime.com \
  inferencedeployments.edge.knime.com \
  tensorflowservingdeployments.edge.knime.com

3. Run kubectl get crds to confirm successful deletion.

user@computer ~ % kubectl get crds

NAME                                          CREATED AT
kongclusterplugins.configuration.konghq.com   2022-03-03T16:56:02Z
kongconsumers.configuration.konghq.com        2022-03-03T16:56:02Z
kongingresses.configuration.konghq.com        2022-03-03T16:56:02Z
kongplugins.configuration.konghq.com          2022-03-03T16:56:02Z
tcpingresses.configuration.konghq.com         2022-03-03T16:56:02Z

4. Run through the "Install new Edge Deployment" section below to reinstall Edge, which will in turn reinstall the CRDs to your cluster.

Install new Edge Deployment

1. Run helm repo ls to confirm that the KNIME Edge chart repository is available in Helm. If not, see the KNIME Edge documentation for details on how to add the repository.

user@computer ~ % helm repo ls

NAME                URL
knime-edge          https://registry.hub.knime.com/chartrepo/knime-edge

2. Run helm repo update to retrieve the latest updates to the KNIME Edge Helm Chart.

user@computer ~ % helm repo update

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "knime-edge" chart repository
Update Complete. ⎈Happy Helming!⎈

3. Run the following command to retrieve the updated values file definition for KNIME Edge v1.2.0 and save it as a local values.yaml file.

helm show values knime-edge/knime-edge-operator --version 1.2.0 > values.yaml

4. Review the values.yaml file and update configuration as needed. All values in <brackets> are placeholders intended to be replaced with actual configuration.

5. Optionally verify the configuration that will be applied to the Kubernetes cluster in the next step.

helm template -n edge knime-edge knime-edge/knime-edge-operator \
  --version 1.2.0 \
  -f values.yaml

6. When ready, run the following command to install KNIME Edge v1.2.0 into your cluster.

helm install -n edge knime-edge knime-edge/knime-edge-operator \
    --version 1.2.0 \
  -f values.yaml

7. See the Verify Installation of KNIME Edge Cluster docs for verifying that the cluster is operational. If you have any questions or need assistance with the update process, please contact your dedicated KNIME support specialist.