Creating a Kubernetes Persistent Volume manually

A Persistent Volume (PV) is used to store data of external services such as Cassandra, Kafka, and Elastic search, when you deploy Sterling Intelligent Promising in development mode and the Operator automatically installs these services.

About this task

A PV is also used to store truststore, where you can choose to add the trusted certificates, or import a truststore to the truststore which Sterling Intelligent Promising creates to trust the connection itself and external services. Create a Kubernetes persistent volume with the ReadWriteMany access mode and a minimum of 10 GB of hard disk space. Ensure that the persistent volume storage is accessible by all containers across the cluster, the owner group of the persistent volume directory has write access, and the owner group ID is specified in the spec storage.securityContext.fsGroup parameter of the SIPEnvironment custom resource.

Procedure

  1. Configure the values as illustrated in the following <sample_pv_file>.yaml file.
    kind: PersistentVolume
    apiVersion: v1
    metadata:
      name: '<Release-name>-pv-sip'
    spec:
      capacity:
        storage: 10Gi                 
      accessModes:
        - ReadWriteMany
      storageClassName: default
    The YAML is an example to create a PV. Hence, do not use it as is. To create your own PV, see Persistent Volumes in Kubernetes.
  2. Pass the name for the Persistent Volume Claim (PVC) as a value to the storage.name parameter in SIPEnvironment, as the SIPEnvironment expects the PVC name as a value for storage.
    If the PVC name specified in the SIPEnvironment does not exist, the Operator creates it automatically. You can also use the existing PVC. In both the cases, PVC should be correctly bound to the intended persistent volume.
    Note: The minimum hard disk space required for development environment is 10 GB and 1 GB for production.
  3. Run the following command.
    oc create -f <sample_pv_file>.yaml -n <sip_installation_namespace>
    Note: If you create a Persistent Volume Claim, ensure that it is correctly bound to the intended persistent volume.
    A Persistent Volume based on the values that are specified in the <sample_pv_file>.yaml is created.