Creating volumes and folders for deployment on Kubernetes

The content services component containers require some persistent volumes, persistent volume claims, and folders to be created before you can deploy. The deployment process uses these volumes and folders during the deployment.

About this task

You can choose to have the operator dynamically provision storage for you at deployment time. In that case, you do not need to create volumes and folders manually for your container environment. You can leave all storage values for your Navigator deployment with the default value in the custom resource YAML.

For more information about dynamically provisioned storage, see Configuring storage for the content services environment.

Remember: Storage can be provisioned by using a mixture of static and dynamic. The operator uses the persistent volume claim names, of the default values, to determine whether a claim exists.
  • If the claim does not exist, dynamic provisioning is used. The persistent volume claim names that are provided in the custom resource YAML are used when the claim is created.
  • If the claim does exist, that claim is used when deploying.
  • If static provisioning is used, the persistent volumes and persistent volume claims must be pre-created and the persistent volume claim name that is provided in the CR.

If you want to use manual configuration for your storage, use the steps in this topic.

Although the following information describes the volumes that are generally required, you can decide to designate more or fewer persistent volumes and volume claims.

You can use a YAML file to capture details like the name and the specifications of the persistent volume that you want to create. Use the kubectl command-line tool with the file to create the persistent volume object. You use a similar approach to create the persistent volume claims. See the following example for more details: Configure a persistent volume for storage.

The persistent volume and persistent volume claim names that are provided in the following tables are examples.

Directory permissions and ownership

The permissions that are described in the following steps are examples that provide a secure environment. Your environment might have different permission requirements.

Remember: The storage volumes that you create must specify the appropriate reclaim policy and access modes:
  • accessModes: - ReadWriteMany
  • persistentVolumeReclaimPolicy: Retain
Note: For deployments with a preexisting FileNet® P8 domain, ensure that all folders and files are updated with the permissions and group ownership settings that are described in this topic. For example, if you want to deploy a new environment against your existing data and configuration to upgrade the Cloud Pak version, check your settings and update permissions and ownership as needed.
Go to the root path that contains all related PV folders, and run the following command.
chmod -R g+rw 
Note: Business Automation Navigator uses the icn-vw-cachestore-pvc persistent volume claim (PVC) as a JVM temporary directory path, which is used to upload files larger than 2 GB. If you must upload large files, plan for a proper size for icn-vw-cachestore-pvc. For example, to upload 2 GB files, icn-vw-cachestore-pvc must have 4 GB or more of available storage. Since the JVM temporary directory is used for all of Navigator’s JVM temporary file usage, monitor the PVC to avoid running out of storage.

Procedure

Create the persistent volumes and persistent volume claims for the IBM Business Automation Navigator container deployment:
Table 1. Volumes, volume claims, and folders for IBM Business Automation Navigator
Volume purpose Example Folder to Create Example Volume and Volume Claim to Create mountPath as seen by container
IBM Business Automation Navigator Liberty configuration /home/cfgstore/icn/configDropins/overrides icn-cfgstore-pv

icn-cfgstore-pvc

/opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides
IBM Business Automation Navigator and Liberty logs /home/cfgstore/icn/logs icn-logstore-pv

icn-logstore-pvc

/opt/ibm/wlp/usr/servers/defaultServer/logs
Custom plug-ins for IBM Business Automation Navigator /home/cfgstore/icn/plugins icn-pluginstore-pv

icn-pluginstore-pvc

/opt/ibm/plugins
IBM Business Automation Navigator viewer logs for Daeja® ViewONE /home/cfgstore/icn/icnvwlogstore icn-vw-logstore-pv

icn-vw-logstore-pvc

/opt/ibm/viewerconfig/logs
IBM Business Automation Navigator storage for the Daeja ViewONE cache /home/cfgstore/icn/icnvwcachestore icn-vw-cachestore-pv

icn-vw-cachestore-pvc

/opt/ibm/viewerconfig/cache
IBM Business Automation Navigator storage for Aspera® /home/cfgstore/icn/icnasperastore icn-asperastore-pv

icn-asperastore-pvc

/opt/ibm/aspera
For each of the folders, set the ownership as follows:
chgrp -R 65534 /icncfgstore
For each of the folders, set the permissions as follows:
chmod -Rf g=u /icncfgstore

The following examples illustrate the YAML file contents to create a persistent volume claim for the IBM Content Navigator configuration store volume.

Persistent volume claim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: icn-cfgstore-pvc
  namespace: <NAMESPACE>
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: icn-cfgstore-pv
  volumeName: icn-cfgstore-pv
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi

The following examples illustrate the YAML file contents to create a persistent volume claim for the IBM Content Navigator and Liberty logs.

Persistent volume claim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: icn-logstore-pvc
  namespace: <NAMESPACE>
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: icn-logstore-pv
  volumeName: icn-logstore-pv
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi

The following examples illustrate the YAML file contents to create a persistent volume claim for the IBM Content Navigator plug-ins.

Persistent volume claim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: icn-pluginstore-pvc
  namespace: <NAMESPACE>
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: icn-pluginstore-pv
  volumeName: icn-pluginstore-pv
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi

The following examples illustrate the YAML file contents to create a persistent volume claim for the IBM Content Navigator viewer logs.

Persistent volume claim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: icn-vw-logstore-pvc
  namespace: <NAMESPACE>
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: icn-vw-logstore-pv
  volumeName: icn-vw-logstore-pv
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi

The following examples illustrate the YAML file contents to create a persistent volume claim for the IBM Content Navigator viewer cache store.

Persistent volume claim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: icn-vw-cachestore-pvc
  namespace: <NAMESPACE>
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: icn-vw-cachestore-pv
  volumeName: icn-vw-cachestore-pv
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi

The following examples illustrate the YAML file contents to create a persistent volume claim for Aspera.

Persistent volume claim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: icn-asperastore-pvc
  namespace: <NAMESPACE>
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: icn-asperastore-pv
  volumeName: icn-asperastore-pv
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Gi