Install SystemLink Enterprise using Helm commands.

When installing SystemLink Enterprise, you primarily perform the configuration in the following places.

  1. systemlink-values.yaml: Configures most of the application.
  2. systemlink-admin-values.yaml: Defines global resources in the SystemLink Admin Helm chart. Helm must install these resources before installing the SystemLink Helm chart.
  3. systemlink-secrets.yaml: Defines Secrets in Helm. NI recommends using techniques such as SOPS to encrypt the file or the secret values in the file. If you do not wish to deploy secrets with this file, set global.deplySecrets to false.

SystemLink Enterprise stores its configuration in YAML value files. You must retain these files for the lifetime of deployment. NI recommends storing these files in a source control repository. Using a repository helps maintain version control and facilitate collaboration across a team.

When working with the template files, read all comments carefully. These template comments explain the configuration options for your application. In many cases, you can use the default values.
Note Comments marked with <ATTENTION> require a specific value or additional attention before deployment.

These YAML files contain secrets and sensitive configuration data for your SystemLink Enterprise deployment. You must restrict access to these files to prevent unauthorized users from compromising the security of your application.

Creating Namespaces

Create namespaces to organize your cluster.

  • Create a namespace for the SystemLink Helm chart.
    kubectl create namespace <namespace>
  • Create a namespace for the SystemLink Admin Helm chart.
    kubectl create namespace <admin-namespace>

Preparing Certificates

Configure certificates for Transport Layer Security (TLS) communication and authentication with external resources.

Note SystemLink Enterprise endpoints require TLS to function. NI recommends using TLS for all communication between SystemLink Enterprise and external data storage and identity providers. Only obtain certificates from trusted sources.

If you are using a certificate to authenticate and encrypt communication with your PostgreSQL instances, refer to PostgreSQL to deploy and reference these certificates in Helm.

If you are using a certificate signed by a private authority for the SystemLink Enterprise hostnames, MongoDB, or S3, refer to Private Certificate Authorities to deploy and reference these certificates in Helm.

Installing Cluster Prerequisites

Install prerequisite resources globally on the cluster.

A user with the following privileges must complete the following steps on the SystemLink Admin Helm chart.

  • A cluster administrator with full access rights.
  • An Argo Workflows user deploying only CustomResourceDefinition.
  • A Flink Operator user deploying ClusterRoles and ClusterRoleBindings. The Flink Operator may require permissions to deploy cross-namespace.

For more information on the Kubernetes permissions required for installation, refer to Required Kubernetes Permissions.

Download the SystemLink Admin Values File

Download a copy of systemlink-admin-values.yaml.

If you already have Argo Workflows CRDs installed as part of another deployment, set argoworkflowscrds.crds.install to false.
argoworkflowscrds:
  crds:
    install: false
If you already have Flink Operator deployed to your Kubernetes cluster, set flinkoperator.enabled to false.
flinkoperator:
  enabled: false

Install Prerequisites

helm upgrade <admin-release>oci://downloads.artifacts.ni.com/ni-docker/ni/helm-charts/systemlinkadmin 
--install 
--version <version> 
--namespace <admin-namespace> 
--values systemlink-admin-values.yaml 
--values systemlink-values.yaml 
--values systemlink-secrets.yaml 
--wait --timeout 20m0s
Table 62. Cluster Install Prerequisites
Parameter Description
admin-release The release name used for installing the SystemLink Admin Helm chart.
downloads.artifacts.ni.com/ni-docker The URL of the registry. If using a local mirror, replace this URL with the URL of the mirror registry.
version The specific version of the software to install.
admin-namespace The namespace created for the SystemLink Admin Helm chart.

This command waits for up to the configured timeout for the install to complete and for all resources to enter a ready state. The default timeout is 20 minutes. The timeout is conservative but installation times might vary due to a variety of factors. Adjust the timeout if needed.

Configuring SystemLink Enterprise

Before installing SystemLink Enterprise, you must configure your SystemLink values files. Download the template configuration files from the SystemLink Enterprise GitHub repository to get started.

This manual documents the configuration parameters for the following files.
  • systemlink-values.yaml
  • systemlink-admin-values.yaml
  • systemlink-secrets.yaml

Each manual topic references the specific Helm values that apply to that configuration area.

Installing the Application

Install SystemLink Enterprise on the cluster.

The user who performs the installation does not need access to the full cluster. However, the user must have full access to the namespace created for the application.

For more details on Kubernetes permissions required for installation, refer to Required Kubernetes Permissions.
Note This topic assumes that you named the database certificate postgres.pem, but you can use any name. SystemLink Enterprise deploys the certificate as a ConfigMap resource.

Install SystemLink Enterprise

helm upgrade <release> 
oci://downloads.artifacts.ni.com/ni-docker/ni/helm-charts/systemlink 
--install 
--version <version> 
--namespace <namespace> 
--values systemlink-values.yaml 
--values systemlink-secrets.yaml 
--set-file database.postgresCertificate=postgres.pem 
--wait --timeout 20m0s
Table 63. SystemLink Enterprise Install Parameters
Parameter Description
release The name Helm assigns to the installed collection of software.
downloads.artifacts.ni.com/ni-docker The URL of the registry. If using a local mirror, replace this URL with the URL of the mirror registry.
version The specific version of the software to install.
namespace The namespace for the application.

This command waits for up to the configured timeout for the install to complete and for all resources to enter a ready state. The default timeout is 20 minutes. The timeout is conservative but installation times might vary due to a variety of factors. Adjust the timeout if needed.

Note You can install multiple instances of SystemLink Enterprise on the same cluster. To install multiple instances, repeat the preceding commands with a different namespace and different values for each instance. Cluster prerequisites install only once for all instances.

Validating the Install

Test that SystemLink Enterprise installed correctly.

You can validate a successful SystemLink Enterprise install. Inspect the readiness probes for the pods deployed by the SystemLink Enterprise Helm chart by using either of the following methods.

  • Using an application, such as Lens.
  • Running the following command.
    kubectl describe pod <pod-name> -n <namespace>
If a pod does not enter the ready state and is continuously restarting after several minutes NI recommends debugging the pod. You can debug the pod by inspecting the log for the pod with the following command.
kubectl logs <pod-name> -n <namespace>