Multiinstance
Portworx Storage for MultiInstance QueueManager's
Starting from CP4I 2020.3 Portworx Storage Version 2.5.5 is offically supported
However, for MultiInstance
QueManager's where there is a requirment for Shared File Storage the default Portworx StorageClass
will not be sufficient:
kind: StorageClassmetadata:labels:app.kubernetes.io/instance: portworxapp.kubernetes.io/managed-by: Helmapp.kubernetes.io/name: portworx-portworxhelm.sh/chart: portworx-1.0.21name: portworx-shared-scparameters:repl: "3"shared: "true"provisioner: kubernetes.io/portworx-volumereclaimPolicy: DeletevolumeBindingMode: Immediate
You must enable nfsv_4
to work with MultiInstance
QM's like so:
kind: StorageClassapiVersion: storage.k8s.io/v1metadata:name: portworx-shared-sc3provisioner: kubernetes.io/portworx-volumeparameters:io_profile: db_remotenfs_v4: 'true'repl: '3'sharedv4: 'true'reclaimPolicy: DeletevolumeBindingMode: Immediate
A major advantage of working with Portworx Storage
is that it can replicate data across Availability Zones
.
This means if you have a Multi AZ
Cluster, Kubernetes will schedule the Active/Passive pod pair into different Zones and they can still share the same PVC's
for failover since the PVC's
backing the MultiInstance
pods will be replicated across Availability Zones
Here is an example of how to use the Storage Class for MultiInstance
:
apiVersion: mq.ibm.com/v1beta1kind: QueueManagermetadata:name: miqmnamespace: cp4ispec:license:accept: truelicense: L-RJON-BN7PN3metric: ProcessorValueUnituse: NonProductionweb:enabled: trueversion: 9.2.0.0-r2queueManager:metrics:enabled: truename: miqmavailability:type: MultiInstancestorage:persistedData:class: portworx-shared-sc3enabled: truetype: persistent-claimqueueManager:class: portworx-shared-sc3type: persistent-claimrecoveryLogs:class: portworx-shared-sc3enabled: truetype: persistent-claim