Creating volumes and folders for deployment on Kubernetes
The content services component containers require a certain number of 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
New in 20.0.2 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.
- If the claim does not exist, dynamic provisioning is used. The persistent volume claim names 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 provided in the CR.
If you are deploying For 20.0.1 or earlier, or you want to use manual configuration for your storage, use the steps in this topic.
Although the following 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, and 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 NFS export root_squash option is strongly recommended for security. If you use the root_squash option, then the file directories to be used for the PVs group ownership must be set to the one specified by the anongid option given in the NFS export definition. The default anongid value is 65534.
- If the no_root_squash option is used, the PV group ownership must be set to the root group 0.
- Assign read, write, execute permissions to both the user and group owners, for example, chmod 770
- The rw,sync,no_wdelay settings are required.
- The no_subtree_check setting is recommended for performance.
<NFS Server>
in the
samples, you might need to provide the private IP of the server, depending on your
environment.accessModes: - ReadWriteMany
persistentVolumeReclaimPolicy: Retain
chmod -R g+rw
Procedure
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 |
chgrp -R 65534 /icncfgstore
chmod -Rf g=u /icncfgstore
The following examples illustrate the YAML file contents to create a persistent volume and persistent volume claim for the IBM Content Navigator configuration store volume.
apiVersion: v1
kind: PersistentVolume
metadata:
name: icn-cfgstore-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
path: /home/cfgstore/icn/configDropin/overrides
server: <NFS_SERVER>
persistentVolumeReclaimPolicy: Retain
storageClassName: icn-cfgstore-pv
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 and persistent volume claim for the IBM Content Navigator and Liberty logs.
apiVersion: v1
kind: PersistentVolume
metadata:
name: icn-logstore-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
path: /home/cfgstore/icn/logs
server: <NFS_SERVER>
persistentVolumeReclaimPolicy: Retain
storageClassName: icn-logstore-pv
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 and persistent volume claim for the IBM Content Navigator plugins.
apiVersion: v1
kind: PersistentVolume
metadata:
name: icn-pluginstore-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
path: /home/cfgstore/icn/plugins
server: <NFS_SERVER>
persistentVolumeReclaimPolicy: Retain
storageClassName: cn-pluginstore-pv
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 and persistent volume claim for the IBM Content Navigator viewer logs.
apiVersion: v1
kind: PersistentVolume
metadata:
name: icn-vw-logstore-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
path: /home/cfgstore/icn/viewerlog
server: <NFS_SERVER>
persistentVolumeReclaimPolicy: Retain
storageClassName: icn-vw-logstore-pv
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 and persistent volume claim for the IBM Content Navigator viewer cache store.
apiVersion: v1
kind: PersistentVolume
metadata:
name: icn-vw-cachestore-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
path: /home/cfgstore/icn/viewercache
server: <NFS_SERVER>
persistentVolumeReclaimPolicy: Retain
storageClassName: icn-vw-cachestore-pv
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 and persistent volume claim for Aspera.
apiVersion: v1
kind: PersistentVolume
metadata:
name: icn-asperastore-pv
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Gi
nfs:
path: /home/cfgstore/icn/aspera
server: <NFS_SERVER>
persistentVolumeReclaimPolicy: Retain
storageClassName: icn-asperastore-pv
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