Deploy SD Elements using Helm

This page contains information about common helm tasks. More information can also be found on the Requirements page.

For information on OpenShift configuration, see Advanced Configuration

Confirm the functionality of the Kubernetes cluster

All nodes should be 'Ready'.

sde$ kubectl get nodes
NAME      STATUS   ROLES                  AGE   VERSION
master1   Ready    control-plane,master   23h   v1.21.0
master2   Ready    control-plane,master   23h   v1.21.0
master3   Ready    control-plane,master   23h   v1.21.0
worker1   Ready    <none>                 23h   v1.21.0
worker2   Ready    <none>                 23h   v1.21.0
worker3   Ready    <none>                 23h   v1.21.0

Download the SD Elements Helm Chart

  1. Browse to https://helm.sdelements.com/charts/ and login with your SD Elements Service account credentials

  2. Download a chart matching the target version of SD Elements, such as sde-5.15.6.tgz

Deploy SD Elements

Prerequisites:
  • Verify your installation prerequisites using a checklist like the following:

Sr No Prerequisite Item Verified

1

Helm version

Yes/No

2

Kubernetes version

Yes/No

3

Shared Object Storage configured (e.g. AWS S3) (See Shared Object Storage)

Yes/No

4

DNS service installed and configured

Yes/No

5

Kubectl version

Yes/No

Nginx is the ingress controller used to test deployment compatibility among versions of SD Elements and EKS. Your deployment may use a different ingress controller.
Steps:
  1. Create a file values.custom.yaml with the following content:

global:
  imageRegistryUsername: <SERVICE_USERNAME>
  imageRegistryPassword: <SERVICE_PASSWORD>
  sharedStorage:
    bucketName: <name-of-the-bucket>
    s3Url: https://s3.<region>.amazonaws.com
    s3AccessKey: <S3-ACCESS-KEY>
    s3SecretKey: <S3-SECRET-KEY>
sde:
  jwtSecret: your-jwt-secret
  secretKey: your-secret-key
  superuserPassword: your-superuser-password
sc-database:
  clientPassword: your-database-password
datastore:
  clientPassword: your-datastore-password
sc-broker:
  clientPassword: your-broker-password
  1. Set such values in accordance with your organizational policies regarding these kinds of secrets. In this example, the <SERVICE_USER> and <SERVICE_PASSWORD> values are your SD Elements Service account credentials. You should replace any remaining passwords and secrets with random strings unique for your installation. Manage these secrets like any software that requires version control.

    Such keys and passwords encrypt or otherwise protect assets within your application. Subsequent changes to them could have potentially negative consequences, including SD Elements becoming unable to decrypt data. For a list of those items that should not be changed, please see Additional Information.
  1. Install the SD Elements chart

$ helm install sdelements "/path/to/sde-${version}.tgz" --values values.custom.yaml

The /path/to/sde-${version}.tgz should be the path to the downloaded SD Elements Helm Chart in the previous section

Confirm the helm chart has been installed

$ helm list
NAME	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART     	APP VERSION
sde1	default  	1       	2021-04-30 17:12:26.687838039 +0000 UTC	deployed	sde-5.13.35	5.13.35

Validate the state of the pods

Pods associated with scheduled jobs such as integration may also show a status of 'Completed'.

$ kubectl get pods
NAME                                         READY   STATUS             RESTARTS   AGE
sde1-broker-7cdd966d45-rjmbh                 1/1     Running            0          41m
sde1-cache-7f7586db57-kn5fp                  1/1     Running            0          41m
sde1-database-6699cbc4c-8bqqc                1/1     Running            0          41m
sde1-job-alm-hourly-26996742-x6qrc           1/1     Running            2          12m
sde1-job-update-index-26996730-7bm8r         0/1     Running            0          24m
sde1-mail-77cff78ccf-5svld                   1/1     Running            0          41m
sde1-web-8645f65f45-24h5g                    1/1     Running            0          41m
sde1-worker-10-55c8f86f6b-hhprz              0/1     Running            0          41m
sde1-worker-15-sde-medium-7d85955887-2snp7   1/1     Running            0          41m
sde1-worker-17-69b5c49b79-rrgh4              0/1     Running            0          41m
sde1-worker-18-sde-low-67c875c5f5-54f66      1/1     Running            0          41m

Access SD Elements

It usually takes around 5-10 minutes to deploy SD Elements depending on the cluster performance and download speeds. During this time a custom friendly 503 message will be shown.

Access to SD Elements is completed through its web service and the nginx controller you’ve selected for use can be configured to provide client access to SD Elements (see Requirements).

Upgrade SD Elements

Refer to the section on how to upgrade SD Elements.

Undeploy SD Elements

Kubernetes storage retention policies include Delete, which will delete data from PersistentVolumes if the PersistentVolumeClaim is removed, or Retain, which won’t. To prevent unexpected data loss when uninstalling helm charts, be aware of the configured retention policy for your PersistentVolume or StorageClass.
Steps:
  1. Get a list of deployed charts (installed releases)

    helm list
  2. Uninstall a release

    helm uninstall <RELEASE_NAME>

SD Elements is no longer deployed.

Additional Information

The following parameters should not be updated by using helm upgrade …​:

Table 1. Static Parameters
Parameter Comments

sde.superuserPassword

Change the superuser password using the SD Elements application

sde.jwtSecret

sde.secretKey

sc-database.clientPassword

Also requires changing within the database using \password

results matching ""

    No results matching ""