Configure IO profiles for Portworx volumes on Kubernetes
Portworx volumes on Kubernetes can use different IO profiles to optimize the Portworx volumes’ performance for specific use-cases. For information about what IO profiles are, as well as the different profiles available, see the IO profiles concept section.
- By default, Portworx uses an
autoIO profile, which automatically applies an IO profile that is most appropriate for the data patterns it sees.
- You can also configure these profiles manually using
pxctl. For information about performance tuning using
pxctl, visit the Performance tuning section of the documentation.
Manually configure IO profiles
You can direct a group of volumes to use a specific IO profile by defining it at the storageClass level and referencing that storageClass in your PVCs:
Create and configure a storageClass as desired. Add the
parameters.io_profilefield with the IO profile you want to specify:
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: portworx-io-profile provisioner: kubernetes.io/portworx-volume parameters: repl: "2" io_profile: "db_remote"
In your PVCs, reference the storageClass you just created to apply your IO profile to volumes:
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: px-db-remote-pvc annotations: volume.beta.kubernetes.io/storage-class: portworx-io-profile spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi