Release 2.0.0
With version 2.0.0 of Helm Charts, MarkLogic Rootless images are supported and compared to previous Helm Charts versions, PODs are created in parallel instead of sequential which allows faster creation or update of the MarkLogic Clusters. Helm Charts 2.0.0 version also supports Path Based Routing with Ingress capability. Refer to Kubernetes-Path-Based-Routing to enable the fields required to use this feature.
Use of Legacy Host Names
Starting with Helm Charts Version 1.1.2, Stateful sets naming convention got changed which caused upgrade from 1.0.x to 1.1.2. A new parameter called useLegacyHostnames was added to the values file to allow upgrade from version 1.0.x. It defaults to false but when upgrading from version 1.0.x to 1.1.2 or later, this parameter must be set to true.
If users want to use the shorter host names and avoid the usage of legacy host names starting with Helm Version 2.0.0 then data should be backed up first then existing Statefulset should be deleted and new Statefulset should be created with 2.0.0 versions. Once the cluster is up and running restore the data.
Helm Charts Version Upgrade to 2.0.0
MarkLogic recommendation is always to have backup of the data before any upgrade is performed. Refers to the documentation link for more information related to backup and restore Backup and restore a database
Delete the stateful set created using previous Helm Chart version:
kubectl get sts -n <release-namespace> (note down the statefulset name)
kubectl delete sts <statefulset-name> -n <release-namespace>
If upgrade is from Helm Charts version 1.0.x set useLegacyHostnames to true. Refer to Helm Charts 1.1.2 release notes and also set the allowLongHostnames to true if hostnames length is greater than 64 characters
Run the Helm upgrade command. Specify the name of your release and the new chart version using the --version option. Specify the values.yaml file using the -f option:
helm upgrade <your release> marklogic/marklogic -f values.yaml --version <new version> -n <release-namespace>
Verify StatefulSet and Pods are created successfully
kubectl get sts -n <release-namespace>
kubectl get pods -n <release-namespace>