7.5 Deploying Self Service Password Reset container on amazon EKS with EC2 instances

To deploy Self Service Password Reset container on Amazon EKS with EC2 instance, perform the following steps:

  1. Create a namespace for deploying Self Service Password Reset.

    kubectl create namespace <name-of-the-namespace>

  2. Download the Self Service Password Reset Helm chart to the Master node from OpenText Downloads.

    For example, sspr-helm-chart-1.0.0.tgz

  3. Unzip the Self Service Password Reset helm chart by using the following command:

    tar -xzvf <latest Self Service Password Reset helm chart>

    For example, tar -xzvf sspr-helm-chart-1.0.0.tgz

  4. Open the sspr/values.yaml file.

  5. Configure the following values in values.yamlfile:

    Table 7-4

    Element

    Value

    namespace

    Name of the namespace.

    replicaCount

    Required number of Self Service Password Reset containers.

    Self Service Password Reset Image Details

    repository

    Specify the docker repository from which the Self Service Password Reset container images are pulled.

    pullPolicy: IfNotPresent

    If you are using a private registry, change thepullPolicy attribute value to Always from IfNotPresent. By default, the pullPolicy attribute value is IfNotPresent.

    image

    Specify a particular docker image for Self Service Password reset within deployment.

    Service Details

    name

    Specify the name of the Kubernetes service associated with the deployment.

    port

    Specify the port on which your service receives incoming network connection.

    Service Account Details

    name

    Specify the name of the Kubernetes service account associated with the deployment.

    AWS Details

    deployment_region

    Specify the AWS region where the deployment resources (such as ECR and EFS) are located.

    Storage Details

    efsID

    Specify the ID of the EFS volume.

    size

    Defines the size of the PVC associated with the EFS volume.

    Volume Details

    persistentVolumeClaim

    Specify the name of PVC associated with the storage.

    storageClass

    Specify the name of the storage class.

  6. Run the following command to install Self Service Password Reset:

    helm install <release-name> <latest Self Service Password Reset helm chart> -f values.yaml

    For example, helm install sspr sspr-1.0.0.tgz -f values.yaml

    NOTE:You must use the following RegEx, which the Helm package manager enforces while assigning a release name:

    [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*

  7. After you run the helm chart, you get a message that Self Service Password Reset is installed. However, the Self Service Password Reset pods are not yet deployed. The deployment of pods takes about 10 minutes.

    Check the progress of the pods deployment by running the following command:

    kubectl get statefulset,pods --namespace <name-of-the-namespace>

    An output similar to the following is displayed:

    The following table describes the output:

    Title

    Description

    NAME

    Name of the Self Service Password Reset pods.

    READY

    The deployment status of the Self Service Password Reset containers within the pod.

    Status explanation:

    • 0/2: None of the containers in the pod is deployed

    • 1/2: One out of two containers is deployed

    • 2/2: Two out of two containers are deployed

    STATUS

    Once the containers are pulled from the repository and configuration begins, their status changes to Running. However, this does not indicate that the pod's deployment is completed. To confirm the deployment status, please refer to the READY column.

    RESTARTS

    Number of time the pod has restarted.

    AGE

    The period in which the pod is created and is running.

  8. The Self Service Password Reset Helm chart installs and configures the Application Load Balancer, Ingress, Stateful Sets, and Pods.

  9. Log in to AWS Console and verify if the Application Load Balancer is installed.

    If Application Load Balancer and Pods are not installed due to any reason, refer Workaround 2 described in Error while logging in to the administration portal.

  10. After installing Self Service Password Reset, you must configure your environment to work with Self Service Password Reset. For more information, see Configuring your environment for Self Service Password Reset.

7.5.1 Scaling Self Service Password Reset container

Self Service Password Reset allows you to scale up or down the containers by modifying the number of replicas on demand. This feature ensures that the Self Service Password Reset can handle variable levels of traffic and workload effectively.

NOTE:Auto-scaling Self Service Password Reset containers is not supported.

To scale up, perform the following steps:

  1. If you want to make the replica available on another worker node, you must ensure that you have an additional worker node / EC2 Instance in your AWS account. Otherwise, Kubernetes schedules the replica on the same worker node as the existing pod.

  2. Update the values.yamlfile for the required replica count.

    For example, to add four instances of Self Service Password Reset, edit the following elements in the values.yaml file.

    Elements

    Value

    namespace

    Self Service Password Reset

    replicaCount

    4

  3. Run the following command:

    helm upgrade <release-name> <chart> -f values.yaml

To scale down, perform the following steps:

  1. Update the values.yamlfile to reduce the replica count and run the following command:

    helm upgrade <release-name> <chart> -f values.yaml

  2. To delete the persistent volume claim and persistent volume, perform the following steps:

    1. Run the following command to list the PVCs in the namespace:

      kubectl get pvc --namespace <namespace>

    2. Run the following command to delete the PVC:

      kubectl delete pvc <pvc-name> --namespace <namespace>

    3. Run the following command to list the PVs:

      kubectl get pv

    4. Run the following command to delete the specific PV:

      kubectl delete pv <pv-name>

    NOTE:Make sure to delete the PVCs before deleting the PVs.

  3. Delete the unused worker nodes.